LLVMFuzzerTestOneInput:
   23|  14.1k|extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
   24|  14.1k|  char infilename[256];
   25|  14.1k|  char outfilename[256];
   26|  14.1k|  snprintf(infilename, 256, "/tmp/libfuzzer.%d", getpid());
  ------------------
  |  |   75|  14.1k|#define snprintf  upx_safe_snprintf
  ------------------
   27|  14.1k|  snprintf(outfilename, 256, "/tmp/libfuzzer.%d.decompressed", getpid());
  ------------------
  |  |   75|  14.1k|#define snprintf  upx_safe_snprintf
  ------------------
   28|       |  
   29|  14.1k|  FILE *fp = fopen(infilename, "wb");
   30|  14.1k|  if (!fp) {
  ------------------
  |  Branch (30:7): [True: 0, False: 14.1k]
  ------------------
   31|      0|    return 0;
   32|      0|  }
   33|  14.1k|  fwrite(data, size, 1, fp);
   34|  14.1k|  fclose(fp);
   35|       |
   36|  14.1k|  char argv_progname[4] = "upx";
   37|  14.1k|  char argv_decompression[3] = "-d";
   38|  14.1k|  char argv_output[3] = "-o";
   39|       |
   40|  14.1k|  char* argv_data[] = {argv_progname, argv_decompression, infilename, argv_output, outfilename};
   41|       |
   42|  14.1k|  try {
   43|  14.1k|    upx_main(5, argv_data);
   44|  14.1k|  } catch(...) {
   45|      0|  }
   46|       |  
   47|  14.1k|  unlink(infilename);
   48|  14.1k|  unlink(outfilename);
   49|  14.1k|  return 0;
   50|  14.1k|}

_Z8get_ne16PKh:
  112|  27.1M|forceinline bele_constexpr unsigned get_ne16(const byte *p) noexcept {
  113|  27.1M|#if defined(upx_is_constant_evaluated)
  114|  27.1M|    if (upx_is_constant_evaluated())
  ------------------
  |  |  112|  27.1M|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (114:9): [Folded, False: 27.1M]
  ------------------
  115|      0|        return upx::compile_time::get_ne16(p);
  116|  27.1M|    else
  117|  27.1M|#endif
  118|  27.1M|    {
  119|  27.1M|        upx_uint16_t v = 0;
  120|  27.1M|        upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  402|  27.1M|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  121|  27.1M|        return v;
  122|  27.1M|    }
  123|  27.1M|}
_Z8get_ne32PKh:
  125|  83.1M|forceinline bele_constexpr unsigned get_ne32(const byte *p) noexcept {
  126|  83.1M|#if defined(upx_is_constant_evaluated)
  127|  83.1M|    if (upx_is_constant_evaluated())
  ------------------
  |  |  112|  83.1M|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (127:9): [Folded, False: 83.1M]
  ------------------
  128|      0|        return upx::compile_time::get_ne32(p);
  129|  83.1M|    else
  130|  83.1M|#endif
  131|  83.1M|    {
  132|  83.1M|        upx_uint32_t v = 0;
  133|  83.1M|        upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  402|  83.1M|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  134|  83.1M|        return v;
  135|  83.1M|    }
  136|  83.1M|}
_Z8get_ne64PKh:
  138|  18.2M|forceinline bele_constexpr upx_uint64_t get_ne64(const byte *p) noexcept {
  139|  18.2M|#if defined(upx_is_constant_evaluated)
  140|  18.2M|    if (upx_is_constant_evaluated())
  ------------------
  |  |  112|  18.2M|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (140:9): [Folded, False: 18.2M]
  ------------------
  141|      0|        return upx::compile_time::get_ne64(p);
  142|  18.2M|    else
  143|  18.2M|#endif
  144|  18.2M|    {
  145|  18.2M|        upx_uint64_t v = 0;
  146|  18.2M|        upx_memcpy_inline(&v, p, sizeof(v));
  ------------------
  |  |  402|  18.2M|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  147|  18.2M|        return v;
  148|  18.2M|    }
  149|  18.2M|}
_Z8set_ne16Phj:
  151|  11.9M|forceinline bele_constexpr void set_ne16(byte *p, unsigned v) noexcept {
  152|  11.9M|#if defined(upx_is_constant_evaluated)
  153|  11.9M|    if (upx_is_constant_evaluated())
  ------------------
  |  |  112|  11.9M|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (153:9): [Folded, False: 11.9M]
  ------------------
  154|      0|        upx::compile_time::set_ne16(p, upx_uint16_t(v & 0xffff));
  155|  11.9M|    else
  156|  11.9M|#endif
  157|  11.9M|    {
  158|  11.9M|        upx_uint16_t vv = upx_uint16_t(v & 0xffff);
  159|  11.9M|        upx_memcpy_inline(p, &vv, sizeof(vv));
  ------------------
  |  |  402|  11.9M|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  160|  11.9M|    }
  161|  11.9M|}
_Z8set_ne32Phj:
  163|  35.7M|forceinline bele_constexpr void set_ne32(byte *p, unsigned v) noexcept {
  164|  35.7M|#if defined(upx_is_constant_evaluated)
  165|  35.7M|    if (upx_is_constant_evaluated())
  ------------------
  |  |  112|  35.7M|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (165:9): [Folded, False: 35.7M]
  ------------------
  166|      0|        upx::compile_time::set_ne32(p, v);
  167|  35.7M|    else
  168|  35.7M|#endif
  169|  35.7M|    {
  170|  35.7M|        upx_uint32_t vv = v;
  171|  35.7M|        upx_memcpy_inline(p, &vv, sizeof(vv));
  ------------------
  |  |  402|  35.7M|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  172|  35.7M|    }
  173|  35.7M|}
_Z8set_ne64Phy:
  175|  3.53M|forceinline bele_constexpr void set_ne64(byte *p, upx_uint64_t v) noexcept {
  176|  3.53M|#if defined(upx_is_constant_evaluated)
  177|  3.53M|    if (upx_is_constant_evaluated())
  ------------------
  |  |  112|  3.53M|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (177:9): [Folded, False: 3.53M]
  ------------------
  178|      0|        upx::compile_time::set_ne64(p, v);
  179|  3.53M|    else
  180|  3.53M|#endif
  181|  3.53M|    {
  182|  3.53M|        upx_uint64_t vv = v;
  183|  3.53M|        upx_memcpy_inline(p, &vv, sizeof(vv));
  ------------------
  |  |  402|  3.53M|#define upx_memcpy_inline __builtin_memcpy
  ------------------
  184|  3.53M|    }
  185|  3.53M|}
_Z11upx_bswap16j:
  265|  16.6M|forceinline constexpr unsigned bswap16(unsigned v) noexcept {
  266|       |    // return __builtin_bswap32(v << 16);
  267|  16.6M|    return __builtin_bswap16(upx_uint16_t(v & 0xffff));
  268|  16.6M|}
_Z11upx_bswap32j:
  269|  43.7M|forceinline constexpr unsigned bswap32(unsigned v) noexcept { return __builtin_bswap32(v); }
_Z11upx_bswap64y:
  270|  10.6M|forceinline constexpr upx_uint64_t bswap64(upx_uint64_t v) noexcept { return __builtin_bswap64(v); }
_Z10no_bswap16j:
  274|  21.9M|forceinline constexpr unsigned no_bswap16(unsigned v) noexcept {
  275|       |    // mask is needed so that for all v: bswap16(bswap16(v)) == no_bswap16(v)
  276|  21.9M|    return v & 0xffff;
  277|  21.9M|}
_Z10no_bswap32j:
  278|  47.6M|forceinline constexpr unsigned no_bswap32(unsigned v) noexcept { return v; }
_Z10no_bswap64y:
  279|  10.8M|forceinline constexpr upx_uint64_t no_bswap64(upx_uint64_t v) noexcept { return v; }
_Z8get_be24PKh:
  349|   431k|inline constexpr unsigned get_be24(const byte *p) noexcept {
  350|   431k|    return upx::compile_time::get_be24(p);
  351|   431k|}
_Z8get_le24PKh:
  352|   466k|inline constexpr unsigned get_le24(const byte *p) noexcept {
  353|   466k|    return upx::compile_time::get_le24(p);
  354|   466k|}
_Z8get_ne24PKh:
  355|   198k|inline constexpr unsigned get_ne24(const byte *p) noexcept {
  356|   198k|    return upx::compile_time::get_ne24(p);
  357|   198k|}
_Z8set_be24Phj:
  358|   375k|inline constexpr void set_be24(byte *p, unsigned v) noexcept { upx::compile_time::set_be24(p, v); }
_Z8set_le24Phj:
  359|   409k|inline constexpr void set_le24(byte *p, unsigned v) noexcept { upx::compile_time::set_le24(p, v); }
_Z8set_ne24Phj:
  360|   198k|inline constexpr void set_ne24(byte *p, unsigned v) noexcept { upx::compile_time::set_ne24(p, v); }
_Z13sign_extend32jj:
  419|  1.69M|forceinline constexpr int sign_extend32(unsigned v, unsigned bits) noexcept {
  420|       |#if (ACC_ARCH_M68K || 0) // no barrel shifter
  421|       |    const unsigned sign_bit = 1u << (bits - 1);
  422|       |    return ACC_ICAST(int, (v & (sign_bit - 1)) - (v & sign_bit));
  423|       |#else
  424|  1.69M|    return ACC_ICAST(int, v << (32 - bits)) >> (32 - bits);
  ------------------
  |  | 1549|  1.69M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  1.69M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  425|  1.69M|#endif
  426|  1.69M|}
_Z13sign_extend64yj:
  428|  1.95M|forceinline constexpr upx_int64_t sign_extend64(upx_uint64_t v, unsigned bits) noexcept {
  429|       |#if (ACC_ARCH_M68K || 0) // no barrel shifter
  430|       |    const upx_uint64_t sign_bit = upx_uint64_t(1) << (bits - 1);
  431|       |    return ACC_ICAST(upx_int64_t, (v & (sign_bit - 1)) - (v & sign_bit));
  432|       |#else
  433|  1.95M|    return ACC_ICAST(upx_int64_t, v << (64 - bits)) >> (64 - bits);
  ------------------
  |  | 1549|  1.95M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  1.95M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  434|  1.95M|#endif
  435|  1.95M|}
_Z8set_be16IhhEvPT_j:
  329|  3.14M|inline bele_constexpr void set_be16(XE16 *p, unsigned v) noexcept { set_ne16(p, ne16_to_be16(v)); }
  ------------------
  |  |  289|  3.14M|#define ne16_to_be16(v) bswap16(v)
  |  |  ------------------
  |  |  |  |  347|  3.14M|#define bswap16 upx_bswap16
  |  |  ------------------
  ------------------
_Z8get_be16IhhEjPKT_:
  304|  13.3M|inline bele_constexpr unsigned get_be16(const XE16 *p) noexcept {
  305|  13.3M|    return ne16_to_be16(get_ne16(p));
  ------------------
  |  |  289|  13.3M|#define ne16_to_be16(v) bswap16(v)
  |  |  ------------------
  |  |  |  |  347|  13.3M|#define bswap16 upx_bswap16
  |  |  ------------------
  ------------------
  306|  13.3M|}
_ZNK4BE16cvjEv:
  504|  8.07M|    forceinline bele_constexpr operator unsigned() const noexcept { return get_be16(d); }
_ZN4BE16aSEj:
  506|   962k|    forceinline bele_constexpr BE16 &operator=(unsigned v) noexcept {
  507|   962k|        set_be16(d, v);
  508|   962k|        return *this;
  509|   962k|    }
_ZN4BE16pLEj:
  510|  84.8k|    BE16 &operator+=(unsigned v) noexcept {
  511|  84.8k|        set_be16(d, get_be16(d) + v);
  512|  84.8k|        return *this;
  513|  84.8k|    }
_ZN4BE16mIEj:
  514|   141k|    BE16 &operator-=(unsigned v) noexcept {
  515|   141k|        set_be16(d, get_be16(d) - v);
  516|   141k|        return *this;
  517|   141k|    }
_ZN4BE16mLEj:
  518|  56.5k|    BE16 &operator*=(unsigned v) noexcept {
  519|  56.5k|        set_be16(d, get_be16(d) * v);
  520|  56.5k|        return *this;
  521|  56.5k|    }
_ZN4BE16dVEj:
  522|  56.5k|    BE16 &operator/=(unsigned v) noexcept {
  523|  56.5k|        set_be16(d, get_be16(d) / v);
  524|  56.5k|        return *this;
  525|  56.5k|    }
_ZN4BE16aNEj:
  526|  28.2k|    BE16 &operator&=(unsigned v) noexcept {
  527|  28.2k|        set_be16(d, get_be16(d) & v);
  528|  28.2k|        return *this;
  529|  28.2k|    }
_ZN4BE16oREj:
  530|  28.2k|    BE16 &operator|=(unsigned v) noexcept {
  531|  28.2k|        set_be16(d, get_be16(d) | v);
  532|  28.2k|        return *this;
  533|  28.2k|    }
_ZN4BE16eOEj:
  534|  28.2k|    BE16 &operator^=(unsigned v) noexcept {
  535|  28.2k|        set_be16(d, get_be16(d) ^ v);
  536|  28.2k|        return *this;
  537|  28.2k|    }
_ZN4BE16lSEj:
  538|  28.2k|    BE16 &operator<<=(unsigned v) noexcept {
  539|  28.2k|        set_be16(d, get_be16(d) << v);
  540|  28.2k|        return *this;
  541|  28.2k|    }
_ZN4BE16rSEj:
  542|  28.2k|    BE16 &operator>>=(unsigned v) noexcept {
  543|  28.2k|        set_be16(d, get_be16(d) >> v);
  544|  28.2k|        return *this;
  545|  28.2k|    }
_ZNK4BE16eqERKS_:
  547|   679k|    bele_constexpr bool operator==(const BE16 &x) const noexcept {
  548|   679k|#if defined(upx_is_constant_evaluated)
  549|   679k|        if (upx_is_constant_evaluated())
  ------------------
  |  |  112|   679k|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (549:13): [Folded, False: 679k]
  ------------------
  550|      0|            return upx::compile_time::mem_eq(d, x.d, sizeof(d));
  551|   679k|        else
  552|   679k|#endif
  553|   679k|            return upx_memcmp_inline(d, x.d, sizeof(d)) == 0;
  ------------------
  |  |  391|   679k|#define upx_memcmp_inline __builtin_memcmp
  ------------------
  554|   679k|    }
_ZNK4BE16ltERKS_:
  555|   622k|    bele_constexpr bool operator<(const BE16 &x) const noexcept {
  556|   622k|        return unsigned(*this) < unsigned(x);
  557|   622k|    }
_Z8set_be32IhhEvPT_j:
  331|  23.3M|inline bele_constexpr void set_be32(XE32 *p, unsigned v) noexcept { set_ne32(p, ne32_to_be32(v)); }
  ------------------
  |  |  290|  23.3M|#define ne32_to_be32(v) bswap32(v)
  |  |  ------------------
  |  |  |  |  348|  23.3M|#define bswap32 upx_bswap32
  |  |  ------------------
  ------------------
_Z8get_be32IhhEjPKT_:
  308|  19.5M|inline bele_constexpr unsigned get_be32(const XE32 *p) noexcept {
  309|  19.5M|    return ne32_to_be32(get_ne32(p));
  ------------------
  |  |  290|  19.5M|#define ne32_to_be32(v) bswap32(v)
  |  |  ------------------
  |  |  |  |  348|  19.5M|#define bswap32 upx_bswap32
  |  |  ------------------
  ------------------
  310|  19.5M|}
_ZNK4BE32cvjEv:
  571|  8.16M|    forceinline bele_constexpr operator unsigned() const noexcept { return get_be32(d); }
_ZN4BE32aSEj:
  573|   990k|    forceinline bele_constexpr BE32 &operator=(unsigned v) noexcept {
  574|   990k|        set_be32(d, v);
  575|   990k|        return *this;
  576|   990k|    }
_ZN4BE32pLEj:
  577|  84.8k|    BE32 &operator+=(unsigned v) noexcept {
  578|  84.8k|        set_be32(d, get_be32(d) + v);
  579|  84.8k|        return *this;
  580|  84.8k|    }
_ZN4BE32mIEj:
  581|   169k|    BE32 &operator-=(unsigned v) noexcept {
  582|   169k|        set_be32(d, get_be32(d) - v);
  583|   169k|        return *this;
  584|   169k|    }
_ZN4BE32mLEj:
  585|  56.5k|    BE32 &operator*=(unsigned v) noexcept {
  586|  56.5k|        set_be32(d, get_be32(d) * v);
  587|  56.5k|        return *this;
  588|  56.5k|    }
_ZN4BE32dVEj:
  589|  56.5k|    BE32 &operator/=(unsigned v) noexcept {
  590|  56.5k|        set_be32(d, get_be32(d) / v);
  591|  56.5k|        return *this;
  592|  56.5k|    }
_ZN4BE32aNEj:
  593|  28.2k|    BE32 &operator&=(unsigned v) noexcept {
  594|  28.2k|        set_be32(d, get_be32(d) & v);
  595|  28.2k|        return *this;
  596|  28.2k|    }
_ZN4BE32oREj:
  597|  28.2k|    BE32 &operator|=(unsigned v) noexcept {
  598|  28.2k|        set_be32(d, get_be32(d) | v);
  599|  28.2k|        return *this;
  600|  28.2k|    }
_ZN4BE32eOEj:
  601|  28.2k|    BE32 &operator^=(unsigned v) noexcept {
  602|  28.2k|        set_be32(d, get_be32(d) ^ v);
  603|  28.2k|        return *this;
  604|  28.2k|    }
_ZN4BE32lSEj:
  605|  28.2k|    BE32 &operator<<=(unsigned v) noexcept {
  606|  28.2k|        set_be32(d, get_be32(d) << v);
  607|  28.2k|        return *this;
  608|  28.2k|    }
_ZN4BE32rSEj:
  609|  28.2k|    BE32 &operator>>=(unsigned v) noexcept {
  610|  28.2k|        set_be32(d, get_be32(d) >> v);
  611|  28.2k|        return *this;
  612|  28.2k|    }
_ZNK4BE32eqERKS_:
  614|   679k|    bele_constexpr bool operator==(const BE32 &x) const noexcept {
  615|   679k|#if defined(upx_is_constant_evaluated)
  616|   679k|        if (upx_is_constant_evaluated())
  ------------------
  |  |  112|   679k|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (616:13): [Folded, False: 679k]
  ------------------
  617|      0|            return upx::compile_time::mem_eq(d, x.d, sizeof(d));
  618|   679k|        else
  619|   679k|#endif
  620|   679k|            return upx_memcmp_inline(d, x.d, sizeof(d)) == 0;
  ------------------
  |  |  391|   679k|#define upx_memcmp_inline __builtin_memcmp
  ------------------
  621|   679k|    }
_ZNK4BE32ltERKS_:
  622|   623k|    bele_constexpr bool operator<(const BE32 &x) const noexcept {
  623|   623k|        return unsigned(*this) < unsigned(x);
  624|   623k|    }
_Z8set_be64IhhEvPT_y:
  333|  1.68M|inline bele_constexpr void set_be64(XE64 *p, upx_uint64_t v) noexcept {
  334|  1.68M|    set_ne64(p, ne64_to_be64(v));
  ------------------
  |  |  291|  1.68M|#define ne64_to_be64(v) bswap64(v)
  |  |  ------------------
  |  |  |  |  349|  1.68M|#define bswap64 upx_bswap64
  |  |  ------------------
  ------------------
  335|  1.68M|}
_Z8get_be64IhhEyPKT_:
  312|  8.81M|inline bele_constexpr upx_uint64_t get_be64(const XE64 *p) noexcept {
  313|  8.81M|    return ne64_to_be64(get_ne64(p));
  ------------------
  |  |  291|  8.81M|#define ne64_to_be64(v) bswap64(v)
  |  |  ------------------
  |  |  |  |  349|  8.81M|#define bswap64 upx_bswap64
  |  |  ------------------
  ------------------
  314|  8.81M|}
_ZNK4BE64cvyEv:
  638|  8.06M|    forceinline bele_constexpr operator upx_uint64_t() const noexcept { return get_be64(d); }
_ZN4BE64aSEy:
  640|   990k|    forceinline bele_constexpr BE64 &operator=(upx_uint64_t v) noexcept {
  641|   990k|        set_be64(d, v);
  642|   990k|        return *this;
  643|   990k|    }
_ZN4BE64pLEy:
  644|  84.8k|    BE64 &operator+=(upx_uint64_t v) noexcept {
  645|  84.8k|        set_be64(d, get_be64(d) + v);
  646|  84.8k|        return *this;
  647|  84.8k|    }
_ZN4BE64mIEy:
  648|   169k|    BE64 &operator-=(upx_uint64_t v) noexcept {
  649|   169k|        set_be64(d, get_be64(d) - v);
  650|   169k|        return *this;
  651|   169k|    }
_ZN4BE64mLEy:
  652|  56.5k|    BE64 &operator*=(upx_uint64_t v) noexcept {
  653|  56.5k|        set_be64(d, get_be64(d) * v);
  654|  56.5k|        return *this;
  655|  56.5k|    }
_ZN4BE64dVEy:
  656|  56.5k|    BE64 &operator/=(upx_uint64_t v) noexcept {
  657|  56.5k|        set_be64(d, get_be64(d) / v);
  658|  56.5k|        return *this;
  659|  56.5k|    }
_ZN4BE64aNEy:
  660|  28.2k|    BE64 &operator&=(upx_uint64_t v) noexcept {
  661|  28.2k|        set_be64(d, get_be64(d) & v);
  662|  28.2k|        return *this;
  663|  28.2k|    }
_ZN4BE64oREy:
  664|  28.2k|    BE64 &operator|=(upx_uint64_t v) noexcept {
  665|  28.2k|        set_be64(d, get_be64(d) | v);
  666|  28.2k|        return *this;
  667|  28.2k|    }
_ZN4BE64eOEy:
  668|  28.2k|    BE64 &operator^=(upx_uint64_t v) noexcept {
  669|  28.2k|        set_be64(d, get_be64(d) ^ v);
  670|  28.2k|        return *this;
  671|  28.2k|    }
_ZN4BE64lSEj:
  672|  28.2k|    BE64 &operator<<=(unsigned v) noexcept {
  673|  28.2k|        set_be64(d, get_be64(d) << v);
  674|  28.2k|        return *this;
  675|  28.2k|    }
_ZN4BE64rSEj:
  676|  28.2k|    BE64 &operator>>=(unsigned v) noexcept {
  677|  28.2k|        set_be64(d, get_be64(d) >> v);
  678|  28.2k|        return *this;
  679|  28.2k|    }
_ZNK4BE64eqERKS_:
  681|   679k|    bele_constexpr bool operator==(const BE64 &x) const noexcept {
  682|   679k|#if defined(upx_is_constant_evaluated)
  683|   679k|        if (upx_is_constant_evaluated())
  ------------------
  |  |  112|   679k|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (683:13): [Folded, False: 679k]
  ------------------
  684|      0|            return upx::compile_time::mem_eq(d, x.d, sizeof(d));
  685|   679k|        else
  686|   679k|#endif
  687|   679k|            return upx_memcmp_inline(d, x.d, sizeof(d)) == 0;
  ------------------
  |  |  391|   679k|#define upx_memcmp_inline __builtin_memcmp
  ------------------
  688|   679k|    }
_ZNK4BE64ltERKS_:
  689|   622k|    bele_constexpr bool operator<(const BE64 &x) const noexcept {
  690|   622k|        return upx_uint64_t(*this) < upx_uint64_t(x);
  691|   622k|    }
_Z8set_le16IhhEvPT_j:
  337|  8.56M|inline bele_constexpr void set_le16(XE16 *p, unsigned v) noexcept { set_ne16(p, ne16_to_le16(v)); }
  ------------------
  |  |  292|  8.56M|#define ne16_to_le16(v) no_bswap16(v)
  ------------------
_Z8get_le16IhhEjPKT_:
  316|  12.7M|inline bele_constexpr unsigned get_le16(const XE16 *p) noexcept {
  317|  12.7M|    return ne16_to_le16(get_ne16(p));
  ------------------
  |  |  292|  12.7M|#define ne16_to_le16(v) no_bswap16(v)
  ------------------
  318|  12.7M|}
_ZNK4LE16cvjEv:
  705|  8.19M|    forceinline bele_constexpr operator unsigned() const noexcept { return get_le16(d); }
_ZN4LE16aSEj:
  707|   994k|    forceinline bele_constexpr LE16 &operator=(unsigned v) noexcept {
  708|   994k|        set_le16(d, v);
  709|   994k|        return *this;
  710|   994k|    }
_ZN4LE16pLEj:
  711|  84.8k|    LE16 &operator+=(unsigned v) noexcept {
  712|  84.8k|        set_le16(d, get_le16(d) + v);
  713|  84.8k|        return *this;
  714|  84.8k|    }
_ZN4LE16mIEj:
  715|   141k|    LE16 &operator-=(unsigned v) noexcept {
  716|   141k|        set_le16(d, get_le16(d) - v);
  717|   141k|        return *this;
  718|   141k|    }
_ZN4LE16mLEj:
  719|  56.5k|    LE16 &operator*=(unsigned v) noexcept {
  720|  56.5k|        set_le16(d, get_le16(d) * v);
  721|  56.5k|        return *this;
  722|  56.5k|    }
_ZN4LE16dVEj:
  723|  56.5k|    LE16 &operator/=(unsigned v) noexcept {
  724|  56.5k|        set_le16(d, get_le16(d) / v);
  725|  56.5k|        return *this;
  726|  56.5k|    }
_ZN4LE16aNEj:
  727|  28.2k|    LE16 &operator&=(unsigned v) noexcept {
  728|  28.2k|        set_le16(d, get_le16(d) & v);
  729|  28.2k|        return *this;
  730|  28.2k|    }
_ZN4LE16oREj:
  731|  28.3k|    LE16 &operator|=(unsigned v) noexcept {
  732|  28.3k|        set_le16(d, get_le16(d) | v);
  733|  28.3k|        return *this;
  734|  28.3k|    }
_ZN4LE16eOEj:
  735|  28.2k|    LE16 &operator^=(unsigned v) noexcept {
  736|  28.2k|        set_le16(d, get_le16(d) ^ v);
  737|  28.2k|        return *this;
  738|  28.2k|    }
_ZN4LE16lSEj:
  739|  28.2k|    LE16 &operator<<=(unsigned v) noexcept {
  740|  28.2k|        set_le16(d, get_le16(d) << v);
  741|  28.2k|        return *this;
  742|  28.2k|    }
_ZN4LE16rSEj:
  743|  28.2k|    LE16 &operator>>=(unsigned v) noexcept {
  744|  28.2k|        set_le16(d, get_le16(d) >> v);
  745|  28.2k|        return *this;
  746|  28.2k|    }
_ZNK4LE16eqERKS_:
  748|   679k|    bele_constexpr bool operator==(const LE16 &x) const noexcept {
  749|   679k|#if defined(upx_is_constant_evaluated)
  750|   679k|        if (upx_is_constant_evaluated())
  ------------------
  |  |  112|   679k|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (750:13): [Folded, False: 679k]
  ------------------
  751|      0|            return upx::compile_time::mem_eq(d, x.d, sizeof(d));
  752|   679k|        else
  753|   679k|#endif
  754|   679k|            return upx_memcmp_inline(d, x.d, sizeof(d)) == 0;
  ------------------
  |  |  391|   679k|#define upx_memcmp_inline __builtin_memcmp
  ------------------
  755|   679k|    }
_ZNK4LE16ltERKS_:
  756|   622k|    bele_constexpr bool operator<(const LE16 &x) const noexcept {
  757|   622k|        return unsigned(*this) < unsigned(x);
  758|   622k|    }
_Z8set_le32IhhEvPT_j:
  339|  8.91M|inline bele_constexpr void set_le32(XE32 *p, unsigned v) noexcept { set_ne32(p, ne32_to_le32(v)); }
  ------------------
  |  |  293|  8.91M|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
_Z8get_le32IhhEjPKT_:
  320|  37.0M|inline bele_constexpr unsigned get_le32(const XE32 *p) noexcept {
  321|  37.0M|    return ne32_to_le32(get_ne32(p));
  ------------------
  |  |  293|  37.0M|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  322|  37.0M|}
_ZNK4LE32cvjEv:
  772|  8.63M|    forceinline bele_constexpr operator unsigned() const noexcept { return get_le32(d); }
_ZN4LE32aSEj:
  774|  1.02M|    forceinline bele_constexpr LE32 &operator=(unsigned v) noexcept {
  775|  1.02M|        set_le32(d, v);
  776|  1.02M|        return *this;
  777|  1.02M|    }
_ZN4LE32pLEj:
  778|   117k|    LE32 &operator+=(unsigned v) noexcept {
  779|   117k|        set_le32(d, get_le32(d) + v);
  780|   117k|        return *this;
  781|   117k|    }
_ZN4LE32mIEj:
  782|   169k|    LE32 &operator-=(unsigned v) noexcept {
  783|   169k|        set_le32(d, get_le32(d) - v);
  784|   169k|        return *this;
  785|   169k|    }
_ZN4LE32mLEj:
  786|  56.5k|    LE32 &operator*=(unsigned v) noexcept {
  787|  56.5k|        set_le32(d, get_le32(d) * v);
  788|  56.5k|        return *this;
  789|  56.5k|    }
_ZN4LE32dVEj:
  790|  56.5k|    LE32 &operator/=(unsigned v) noexcept {
  791|  56.5k|        set_le32(d, get_le32(d) / v);
  792|  56.5k|        return *this;
  793|  56.5k|    }
_ZN4LE32aNEj:
  794|  28.2k|    LE32 &operator&=(unsigned v) noexcept {
  795|  28.2k|        set_le32(d, get_le32(d) & v);
  796|  28.2k|        return *this;
  797|  28.2k|    }
_ZN4LE32oREj:
  798|  28.2k|    LE32 &operator|=(unsigned v) noexcept {
  799|  28.2k|        set_le32(d, get_le32(d) | v);
  800|  28.2k|        return *this;
  801|  28.2k|    }
_ZN4LE32eOEj:
  802|  28.2k|    LE32 &operator^=(unsigned v) noexcept {
  803|  28.2k|        set_le32(d, get_le32(d) ^ v);
  804|  28.2k|        return *this;
  805|  28.2k|    }
_ZN4LE32lSEj:
  806|  28.2k|    LE32 &operator<<=(unsigned v) noexcept {
  807|  28.2k|        set_le32(d, get_le32(d) << v);
  808|  28.2k|        return *this;
  809|  28.2k|    }
_ZN4LE32rSEj:
  810|  28.2k|    LE32 &operator>>=(unsigned v) noexcept {
  811|  28.2k|        set_le32(d, get_le32(d) >> v);
  812|  28.2k|        return *this;
  813|  28.2k|    }
_ZNK4LE32eqERKS_:
  815|   680k|    bele_constexpr bool operator==(const LE32 &x) const noexcept {
  816|   680k|#if defined(upx_is_constant_evaluated)
  817|   680k|        if (upx_is_constant_evaluated())
  ------------------
  |  |  112|   680k|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (817:13): [Folded, False: 680k]
  ------------------
  818|      0|            return upx::compile_time::mem_eq(d, x.d, sizeof(d));
  819|   680k|        else
  820|   680k|#endif
  821|   680k|            return upx_memcmp_inline(d, x.d, sizeof(d)) == 0;
  ------------------
  |  |  391|   680k|#define upx_memcmp_inline __builtin_memcmp
  ------------------
  822|   680k|    }
_ZNK4LE32ltERKS_:
  823|   624k|    bele_constexpr bool operator<(const LE32 &x) const noexcept {
  824|   624k|        return unsigned(*this) < unsigned(x);
  825|   624k|    }
_Z8set_le64IhhEvPT_y:
  341|  1.68M|inline bele_constexpr void set_le64(XE64 *p, upx_uint64_t v) noexcept {
  342|  1.68M|    set_ne64(p, ne64_to_le64(v));
  ------------------
  |  |  294|  1.68M|#define ne64_to_le64(v) no_bswap64(v)
  ------------------
  343|  1.68M|}
_Z8get_le64IhhEyPKT_:
  324|  8.98M|inline bele_constexpr upx_uint64_t get_le64(const XE64 *p) noexcept {
  325|  8.98M|    return ne64_to_le64(get_ne64(p));
  ------------------
  |  |  294|  8.98M|#define ne64_to_le64(v) no_bswap64(v)
  ------------------
  326|  8.98M|}
_ZNK4LE64cvyEv:
  839|  8.25M|    forceinline bele_constexpr operator upx_uint64_t() const noexcept { return get_le64(d); }
_ZN4LE64aSEy:
  841|   990k|    forceinline bele_constexpr LE64 &operator=(upx_uint64_t v) noexcept {
  842|   990k|        set_le64(d, v);
  843|   990k|        return *this;
  844|   990k|    }
_ZN4LE64pLEy:
  845|  84.8k|    LE64 &operator+=(upx_uint64_t v) noexcept {
  846|  84.8k|        set_le64(d, get_le64(d) + v);
  847|  84.8k|        return *this;
  848|  84.8k|    }
_ZN4LE64mIEy:
  849|   169k|    LE64 &operator-=(upx_uint64_t v) noexcept {
  850|   169k|        set_le64(d, get_le64(d) - v);
  851|   169k|        return *this;
  852|   169k|    }
_ZN4LE64mLEy:
  853|  56.5k|    LE64 &operator*=(upx_uint64_t v) noexcept {
  854|  56.5k|        set_le64(d, get_le64(d) * v);
  855|  56.5k|        return *this;
  856|  56.5k|    }
_ZN4LE64dVEy:
  857|  56.5k|    LE64 &operator/=(upx_uint64_t v) noexcept {
  858|  56.5k|        set_le64(d, get_le64(d) / v);
  859|  56.5k|        return *this;
  860|  56.5k|    }
_ZN4LE64aNEy:
  861|  28.2k|    LE64 &operator&=(upx_uint64_t v) noexcept {
  862|  28.2k|        set_le64(d, get_le64(d) & v);
  863|  28.2k|        return *this;
  864|  28.2k|    }
_ZN4LE64oREy:
  865|  28.2k|    LE64 &operator|=(upx_uint64_t v) noexcept {
  866|  28.2k|        set_le64(d, get_le64(d) | v);
  867|  28.2k|        return *this;
  868|  28.2k|    }
_ZN4LE64eOEy:
  869|  28.2k|    LE64 &operator^=(upx_uint64_t v) noexcept {
  870|  28.2k|        set_le64(d, get_le64(d) ^ v);
  871|  28.2k|        return *this;
  872|  28.2k|    }
_ZN4LE64lSEj:
  873|  28.2k|    LE64 &operator<<=(unsigned v) noexcept {
  874|  28.2k|        set_le64(d, get_le64(d) << v);
  875|  28.2k|        return *this;
  876|  28.2k|    }
_ZN4LE64rSEj:
  877|  28.2k|    LE64 &operator>>=(unsigned v) noexcept {
  878|  28.2k|        set_le64(d, get_le64(d) >> v);
  879|  28.2k|        return *this;
  880|  28.2k|    }
_ZNK4LE64eqERKS_:
  882|   679k|    bele_constexpr bool operator==(const LE64 &x) const noexcept {
  883|   679k|#if defined(upx_is_constant_evaluated)
  884|   679k|        if (upx_is_constant_evaluated())
  ------------------
  |  |  112|   679k|#define upx_is_constant_evaluated __builtin_is_constant_evaluated
  ------------------
  |  Branch (884:13): [Folded, False: 679k]
  ------------------
  885|      0|            return upx::compile_time::mem_eq(d, x.d, sizeof(d));
  886|   679k|        else
  887|   679k|#endif
  888|   679k|            return upx_memcmp_inline(d, x.d, sizeof(d)) == 0;
  ------------------
  |  |  391|   679k|#define upx_memcmp_inline __builtin_memcmp
  ------------------
  889|   679k|    }
_ZNK4LE64ltERKS_:
  890|   622k|    bele_constexpr bool operator<(const LE64 &x) const noexcept {
  891|   622k|        return upx_uint64_t(*this) < upx_uint64_t(x);
  892|   622k|    }
_Z8get_ne16IvvEjPKT_:
  192|   727k|forceinline bele_constexpr unsigned get_ne16(const XE16 *p) noexcept {
  193|   727k|    return get_ne16(upx::ptr_static_cast<const byte *>(p));
  194|   727k|}
_Z8get_be16IvvEjPKT_:
  304|   198k|inline bele_constexpr unsigned get_be16(const XE16 *p) noexcept {
  305|   198k|    return ne16_to_be16(get_ne16(p));
  ------------------
  |  |  289|   198k|#define ne16_to_be16(v) bswap16(v)
  |  |  ------------------
  |  |  |  |  347|   198k|#define bswap16 upx_bswap16
  |  |  ------------------
  ------------------
  306|   198k|}
_Z8get_be24IvvEjPKT_:
  363|  56.5k|forceinline bele_constexpr unsigned get_be24(const XE24 *p) noexcept {
  364|  56.5k|    return get_be24(upx::ptr_static_cast<const byte *>(p));
  365|  56.5k|}
_Z8get_ne32IvvEjPKT_:
  197|  1.66M|forceinline bele_constexpr unsigned get_ne32(const XE32 *p) noexcept {
  198|  1.66M|    return get_ne32(upx::ptr_static_cast<const byte *>(p));
  199|  1.66M|}
_Z8get_be32IvvEjPKT_:
  308|   784k|inline bele_constexpr unsigned get_be32(const XE32 *p) noexcept {
  309|   784k|    return ne32_to_be32(get_ne32(p));
  ------------------
  |  |  290|   784k|#define ne32_to_be32(v) bswap32(v)
  |  |  ------------------
  |  |  |  |  348|   784k|#define bswap32 upx_bswap32
  |  |  ------------------
  ------------------
  310|   784k|}
_Z8get_ne64IvvEyPKT_:
  202|   298k|forceinline bele_constexpr upx_uint64_t get_ne64(const XE64 *p) noexcept {
  203|   298k|    return get_ne64(upx::ptr_static_cast<const byte *>(p));
  204|   298k|}
_Z8get_be64IvvEyPKT_:
  312|   114k|inline bele_constexpr upx_uint64_t get_be64(const XE64 *p) noexcept {
  313|   114k|    return ne64_to_be64(get_ne64(p));
  ------------------
  |  |  291|   114k|#define ne64_to_be64(v) bswap64(v)
  |  |  ------------------
  |  |  |  |  349|   114k|#define bswap64 upx_bswap64
  |  |  ------------------
  ------------------
  314|   114k|}
_Z8set_ne32IvvEvPT_j:
  212|  56.5k|forceinline bele_constexpr void set_ne32(XE32 *p, unsigned v) noexcept {
  213|  56.5k|    set_ne32(upx::ptr_static_cast<byte *>(p), v);
  214|  56.5k|}
_Z15get_be16_signedIvvEiPKT_:
  438|  28.2k|inline bele_constexpr int get_be16_signed(const XE16 *p) noexcept {
  439|  28.2k|    unsigned v = get_be16(p);
  440|  28.2k|    return sign_extend32(v, 16);
  441|  28.2k|}
_Z15get_be24_signedIvvEiPKT_:
  444|  28.2k|inline bele_constexpr int get_be24_signed(const XE24 *p) noexcept {
  445|  28.2k|    unsigned v = get_be24(p);
  446|  28.2k|    return sign_extend32(v, 24);
  447|  28.2k|}
_Z15get_be32_signedIvvEiPKT_:
  450|  28.2k|inline bele_constexpr int get_be32_signed(const XE32 *p) noexcept {
  451|  28.2k|    unsigned v = get_be32(p);
  452|  28.2k|    return sign_extend32(v, 32);
  453|  28.2k|}
_Z15get_be64_signedIvvExPKT_:
  456|  28.2k|inline bele_constexpr upx_int64_t get_be64_signed(const XE64 *p) noexcept {
  457|  28.2k|    upx_uint64_t v = get_be64(p);
  458|  28.2k|    return sign_extend64(v, 64);
  459|  28.2k|}
_Z8get_le16IvvEjPKT_:
  316|   528k|inline bele_constexpr unsigned get_le16(const XE16 *p) noexcept {
  317|   528k|    return ne16_to_le16(get_ne16(p));
  ------------------
  |  |  292|   528k|#define ne16_to_le16(v) no_bswap16(v)
  ------------------
  318|   528k|}
_Z8get_le24IvvEjPKT_:
  367|  56.5k|forceinline bele_constexpr unsigned get_le24(const XE24 *p) noexcept {
  368|  56.5k|    return get_le24(upx::ptr_static_cast<const byte *>(p));
  369|  56.5k|}
_Z8get_le32IvvEjPKT_:
  320|   390k|inline bele_constexpr unsigned get_le32(const XE32 *p) noexcept {
  321|   390k|    return ne32_to_le32(get_ne32(p));
  ------------------
  |  |  293|   390k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  322|   390k|}
_Z8get_le64IvvEyPKT_:
  324|   183k|inline bele_constexpr upx_uint64_t get_le64(const XE64 *p) noexcept {
  325|   183k|    return ne64_to_le64(get_ne64(p));
  ------------------
  |  |  294|   183k|#define ne64_to_le64(v) no_bswap64(v)
  ------------------
  326|   183k|}
_Z15get_le16_signedIvvEiPKT_:
  462|  28.2k|inline bele_constexpr int get_le16_signed(const XE16 *p) noexcept {
  463|  28.2k|    unsigned v = get_le16(p);
  464|  28.2k|    return sign_extend32(v, 16);
  465|  28.2k|}
_Z15get_le24_signedIvvEiPKT_:
  468|  28.2k|inline bele_constexpr int get_le24_signed(const XE24 *p) noexcept {
  469|  28.2k|    unsigned v = get_le24(p);
  470|  28.2k|    return sign_extend32(v, 24);
  471|  28.2k|}
_Z15get_le32_signedIvvEiPKT_:
  474|  28.2k|inline bele_constexpr int get_le32_signed(const XE32 *p) noexcept {
  475|  28.2k|    unsigned v = get_le32(p);
  476|  28.2k|    return sign_extend32(v, 32);
  477|  28.2k|}
_Z15get_le64_signedIvvExPKT_:
  480|  28.2k|inline bele_constexpr upx_int64_t get_le64_signed(const XE64 *p) noexcept {
  481|  28.2k|    upx_uint64_t v = get_le64(p);
  482|  28.2k|    return sign_extend64(v, 64);
  483|  28.2k|}
_ZN10N_BELE_CTP6getRTPEPKNS_8BEPolicyE:
 1153|  31.3k|inline const N_BELE_RTP::AbstractPolicy *getRTP(const BEPolicy * /*dummy*/) noexcept {
 1154|  31.3k|    return &N_BELE_RTP::be_policy;
 1155|  31.3k|}
_ZN10N_BELE_CTP6getRTPEPKNS_8LEPolicyE:
 1156|  74.2k|inline const N_BELE_RTP::AbstractPolicy *getRTP(const LEPolicy * /*dummy*/) noexcept {
 1157|  74.2k|    return &N_BELE_RTP::le_policy;
 1158|  74.2k|}
_Z15get_be16_signedIhhEiPKT_:
  438|  56.5k|inline bele_constexpr int get_be16_signed(const XE16 *p) noexcept {
  439|  56.5k|    unsigned v = get_be16(p);
  440|  56.5k|    return sign_extend32(v, 16);
  441|  56.5k|}
_Z15get_be32_signedIhhEiPKT_:
  450|  56.5k|inline bele_constexpr int get_be32_signed(const XE32 *p) noexcept {
  451|  56.5k|    unsigned v = get_be32(p);
  452|  56.5k|    return sign_extend32(v, 32);
  453|  56.5k|}
_Z15get_be64_signedIhhExPKT_:
  456|  56.5k|inline bele_constexpr upx_int64_t get_be64_signed(const XE64 *p) noexcept {
  457|  56.5k|    upx_uint64_t v = get_be64(p);
  458|  56.5k|    return sign_extend64(v, 64);
  459|  56.5k|}
_Z15get_le16_signedIhhEiPKT_:
  462|  28.2k|inline bele_constexpr int get_le16_signed(const XE16 *p) noexcept {
  463|  28.2k|    unsigned v = get_le16(p);
  464|  28.2k|    return sign_extend32(v, 16);
  465|  28.2k|}
_Z15get_le32_signedIhhEiPKT_:
  474|  28.2k|inline bele_constexpr int get_le32_signed(const XE32 *p) noexcept {
  475|  28.2k|    unsigned v = get_le32(p);
  476|  28.2k|    return sign_extend32(v, 32);
  477|  28.2k|}
_Z15get_le64_signedIhhExPKT_:
  480|  28.2k|inline bele_constexpr upx_int64_t get_le64_signed(const XE64 *p) noexcept {
  481|  28.2k|    upx_uint64_t v = get_le64(p);
  482|  28.2k|    return sign_extend64(v, 64);
  483|  28.2k|}
_Z8get_le26IvvEjPKT_:
  388|  84.8k|inline bele_constexpr unsigned get_le26(const XE32 *p) noexcept { return get_le32(p) & 0x03ffffff; }
_Z8set_le26IvvEvPT_j:
  399|  56.5k|inline bele_constexpr void set_le26(XE32 *p, unsigned v) noexcept {
  400|       |    // preserve the top 6 bits
  401|       |    //   set_le32(p, (get_le32(p) & 0xfc000000) | (v & 0x03ffffff));
  402|       |    // optimized version, saving a runtime bswap32
  403|  56.5k|    set_ne32(p, (get_ne32(p) & ne32_to_le32(0xfc000000)) |
  ------------------
  |  |  293|  56.5k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  404|  56.5k|                    (ne32_to_le32(v) & ne32_to_le32(0x03ffffff)));
  ------------------
  |  |  293|  56.5k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
                                  (ne32_to_le32(v) & ne32_to_le32(0x03ffffff)));
  ------------------
  |  |  293|  56.5k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  405|  56.5k|}
_Z8set_ne16IttEvPT_j:
  207|  28.2k|forceinline bele_constexpr void set_ne16(XE16 *p, unsigned v) noexcept {
  208|  28.2k|    set_ne16(upx::ptr_static_cast<byte *>(p), v);
  209|  28.2k|}
_Z8set_ne32IjjEvPT_j:
  212|  28.2k|forceinline bele_constexpr void set_ne32(XE32 *p, unsigned v) noexcept {
  213|  28.2k|    set_ne32(upx::ptr_static_cast<byte *>(p), v);
  214|  28.2k|}
_Z8set_ne64IyyEvPT_y:
  217|  28.2k|forceinline bele_constexpr void set_ne64(XE64 *p, upx_uint64_t v) noexcept {
  218|  28.2k|    set_ne64(upx::ptr_static_cast<byte *>(p), v);
  219|  28.2k|}
_Z8get_ne16IttEjPKT_:
  192|  28.2k|forceinline bele_constexpr unsigned get_ne16(const XE16 *p) noexcept {
  193|  28.2k|    return get_ne16(upx::ptr_static_cast<const byte *>(p));
  194|  28.2k|}
_Z8get_ne32IjjEjPKT_:
  197|  28.5k|forceinline bele_constexpr unsigned get_ne32(const XE32 *p) noexcept {
  198|  28.5k|    return get_ne32(upx::ptr_static_cast<const byte *>(p));
  199|  28.5k|}
_Z8get_ne64IyyEyPKT_:
  202|  28.2k|forceinline bele_constexpr upx_uint64_t get_ne64(const XE64 *p) noexcept {
  203|  28.2k|    return get_ne64(upx::ptr_static_cast<const byte *>(p));
  204|  28.2k|}
_ZN3upx3minIjjEET_RK4LE16RKS1_:
 1010|   226k|inline bele_constexpr T min(const LE16 &a, const T &b) noexcept { return min(T(a), b); }
_ZN3upx3minIjjEET_RKS1_RK4LE16:
 1008|   226k|inline bele_constexpr T min(const T &a, const LE16 &b) noexcept { return min(a, T(b)); }
_ZN3upx3maxIjjEET_RK4LE16RKS1_:
 1035|   226k|inline bele_constexpr T max(const LE16 &a, const T &b) noexcept { return max(T(a), b); }
_ZN3upx3maxIjjEET_RKS1_RK4LE16:
 1033|   226k|inline bele_constexpr T max(const T &a, const LE16 &b) noexcept { return max(a, T(b)); }
_ZN3upx3minIjjEET_RK4LE32RKS1_:
 1014|   226k|inline bele_constexpr T min(const LE32 &a, const T &b) noexcept { return min(T(a), b); }
_ZN3upx3minIjjEET_RKS1_RK4LE32:
 1012|   226k|inline bele_constexpr T min(const T &a, const LE32 &b) noexcept { return min(a, T(b)); }
_ZN3upx3maxIjjEET_RK4LE32RKS1_:
 1039|   226k|inline bele_constexpr T max(const LE32 &a, const T &b) noexcept { return max(T(a), b); }
_ZN3upx3maxIjjEET_RKS1_RK4LE32:
 1037|   226k|inline bele_constexpr T max(const T &a, const LE32 &b) noexcept { return max(a, T(b)); }
_ZN3upx3minIyyEET_RK4LE64RKS1_:
 1018|   226k|inline bele_constexpr T min(const LE64 &a, const T &b) noexcept { return min(T(a), b); }
_ZN3upx3minIyyEET_RKS1_RK4LE64:
 1016|   226k|inline bele_constexpr T min(const T &a, const LE64 &b) noexcept { return min(a, T(b)); }
_ZN3upx3maxIyyEET_RK4LE64RKS1_:
 1043|   226k|inline bele_constexpr T max(const LE64 &a, const T &b) noexcept { return max(T(a), b); }
_ZN3upx3maxIyyEET_RKS1_RK4LE64:
 1041|   226k|inline bele_constexpr T max(const T &a, const LE64 &b) noexcept { return max(a, T(b)); }
_ZN3upx3minIjjEET_RK4BE16RKS1_:
  998|   226k|inline bele_constexpr T min(const BE16 &a, const T &b) noexcept { return min(T(a), b); }
_ZN3upx3minIjjEET_RKS1_RK4BE16:
  996|   226k|inline bele_constexpr T min(const T &a, const BE16 &b) noexcept { return min(a, T(b)); }
_ZN3upx3maxIjjEET_RK4BE16RKS1_:
 1023|   226k|inline bele_constexpr T max(const BE16 &a, const T &b) noexcept { return max(T(a), b); }
_ZN3upx3maxIjjEET_RKS1_RK4BE16:
 1021|   226k|inline bele_constexpr T max(const T &a, const BE16 &b) noexcept { return max(a, T(b)); }
_ZN3upx3minIjjEET_RK4BE32RKS1_:
 1002|   226k|inline bele_constexpr T min(const BE32 &a, const T &b) noexcept { return min(T(a), b); }
_ZN3upx3minIjjEET_RKS1_RK4BE32:
 1000|   226k|inline bele_constexpr T min(const T &a, const BE32 &b) noexcept { return min(a, T(b)); }
_ZN3upx3maxIjjEET_RK4BE32RKS1_:
 1027|   226k|inline bele_constexpr T max(const BE32 &a, const T &b) noexcept { return max(T(a), b); }
_ZN3upx3maxIjjEET_RKS1_RK4BE32:
 1025|   226k|inline bele_constexpr T max(const T &a, const BE32 &b) noexcept { return max(a, T(b)); }
_ZN3upx3minIyyEET_RK4BE64RKS1_:
 1006|   226k|inline bele_constexpr T min(const BE64 &a, const T &b) noexcept { return min(T(a), b); }
_ZN3upx3minIyyEET_RKS1_RK4BE64:
 1004|   226k|inline bele_constexpr T min(const T &a, const BE64 &b) noexcept { return min(a, T(b)); }
_ZN3upx3maxIyyEET_RK4BE64RKS1_:
 1031|   226k|inline bele_constexpr T max(const BE64 &a, const T &b) noexcept { return max(T(a), b); }
_ZN3upx3maxIyyEET_RKS1_RK4BE64:
 1029|   226k|inline bele_constexpr T max(const T &a, const BE64 &b) noexcept { return max(a, T(b)); }
_Z8set_le26IhhEvPT_j:
  399|   358k|inline bele_constexpr void set_le26(XE32 *p, unsigned v) noexcept {
  400|       |    // preserve the top 6 bits
  401|       |    //   set_le32(p, (get_le32(p) & 0xfc000000) | (v & 0x03ffffff));
  402|       |    // optimized version, saving a runtime bswap32
  403|   358k|    set_ne32(p, (get_ne32(p) & ne32_to_le32(0xfc000000)) |
  ------------------
  |  |  293|   358k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  404|   358k|                    (ne32_to_le32(v) & ne32_to_le32(0x03ffffff)));
  ------------------
  |  |  293|   358k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
                                  (ne32_to_le32(v) & ne32_to_le32(0x03ffffff)));
  ------------------
  |  |  293|   358k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  405|   358k|}
_Z8get_le26IhhEjPKT_:
  388|   358k|inline bele_constexpr unsigned get_le26(const XE32 *p) noexcept { return get_le32(p) & 0x03ffffff; }
_Z8get_le32IjjEjPKT_:
  320|    246|inline bele_constexpr unsigned get_le32(const XE32 *p) noexcept {
  321|    246|    return ne32_to_le32(get_ne32(p));
  ------------------
  |  |  293|    246|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  322|    246|}
_ZplIjEPT_S1_RK4LE32:
  924|    123|inline bele_constexpr T *operator+(T *ptr, const LE32 &v) noexcept {
  925|    123|    return ptr + size_t(unsigned(v));
  926|    123|}
_Z8get_le16I4LE16S0_EjPKT_:
  316|  55.2k|inline bele_constexpr unsigned get_le16(const XE16 *p) noexcept {
  317|  55.2k|    return ne16_to_le16(get_ne16(p));
  ------------------
  |  |  292|  55.2k|#define ne16_to_le16(v) no_bswap16(v)
  ------------------
  318|  55.2k|}
_Z8get_ne16I4LE16S0_EjPKT_:
  192|  55.2k|forceinline bele_constexpr unsigned get_ne16(const XE16 *p) noexcept {
  193|  55.2k|    return get_ne16(upx::ptr_static_cast<const byte *>(p));
  194|  55.2k|}
_ZN3upx8align_upIjjEET_RK4LE32RKS1_:
  993|     39|inline bele_constexpr T align_up(const LE32 &a, const T &b) noexcept { return align_up(T(a), b); }
_Z8get_le32I4LE32S0_EjPKT_:
  320|  3.99k|inline bele_constexpr unsigned get_le32(const XE32 *p) noexcept {
  321|  3.99k|    return ne32_to_le32(get_ne32(p));
  ------------------
  |  |  293|  3.99k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
  322|  3.99k|}
_Z8get_ne32I4LE32S0_EjPKT_:
  197|  3.99k|forceinline bele_constexpr unsigned get_ne32(const XE32 *p) noexcept {
  198|  3.99k|    return get_ne32(upx::ptr_static_cast<const byte *>(p));
  199|  3.99k|}
_ZplIcEPT_S1_RK4BE32:
  908|  4.59k|inline bele_constexpr T *operator+(T *ptr, const BE32 &v) noexcept {
  909|  4.59k|    return ptr + size_t(unsigned(v));
  910|  4.59k|}
_ZplIcEPT_S1_RK4LE32:
  924|  33.9k|inline bele_constexpr T *operator+(T *ptr, const LE32 &v) noexcept {
  925|  33.9k|    return ptr + size_t(unsigned(v));
  926|  33.9k|}
_ZN3upx8align_upIjjEET_RKS1_RK4LE32:
  991|    153|inline bele_constexpr T align_up(const T &a, const LE32 &b) noexcept { return align_up(a, T(b)); }

_ZN10N_BELE_CTP8BEPolicy21compileTimeAssertionsEv:
  138|  31.3k|    static void compileTimeAssertions() noexcept {
  139|  31.3k|        COMPILE_TIME_ASSERT(sizeof(U16) == 2)
  ------------------
  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  140|  31.3k|        COMPILE_TIME_ASSERT(sizeof(U32) == 4)
  ------------------
  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  141|  31.3k|        COMPILE_TIME_ASSERT(sizeof(U64) == 8)
  ------------------
  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  142|  31.3k|        COMPILE_TIME_ASSERT_ALIGNED1(U16)
  ------------------
  |  |  446|  31.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  31.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  31.3k|    {                                                                                              \
  |  |  |  |  |  |  429|  31.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  31.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  31.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  31.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  31.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  31.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  31.3k|        };                                                                                         \
  |  |  |  |  |  |  436|  31.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  31.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  31.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  31.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  31.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  31.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  31.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  31.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  143|  31.3k|        COMPILE_TIME_ASSERT_ALIGNED1(U32)
  ------------------
  |  |  446|  31.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  31.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  31.3k|    {                                                                                              \
  |  |  |  |  |  |  429|  31.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  31.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  31.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  31.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  31.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  31.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  31.3k|        };                                                                                         \
  |  |  |  |  |  |  436|  31.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  31.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  31.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  31.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  31.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  31.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  31.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  31.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  144|  31.3k|        COMPILE_TIME_ASSERT_ALIGNED1(U64)
  ------------------
  |  |  446|  31.3k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  31.3k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  31.3k|    {                                                                                              \
  |  |  |  |  |  |  429|  31.3k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  31.3k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  31.3k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  31.3k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  31.3k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  31.3k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  31.3k|        };                                                                                         \
  |  |  |  |  |  |  436|  31.3k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  31.3k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  31.3k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  31.3k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  31.3k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  31.3k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  31.3k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  31.3k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  31.3k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  31.3k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  145|  31.3k|    }
_ZN10N_BELE_CTP8LEPolicy21compileTimeAssertionsEv:
  197|  74.2k|    static void compileTimeAssertions() noexcept {
  198|  74.2k|        COMPILE_TIME_ASSERT(sizeof(U16) == 2)
  ------------------
  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  199|  74.2k|        COMPILE_TIME_ASSERT(sizeof(U32) == 4)
  ------------------
  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  200|  74.2k|        COMPILE_TIME_ASSERT(sizeof(U64) == 8)
  ------------------
  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  201|  74.2k|        COMPILE_TIME_ASSERT_ALIGNED1(U16)
  ------------------
  |  |  446|  74.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  74.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  74.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  74.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  74.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  74.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  74.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  74.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  74.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  74.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  74.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  74.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  74.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  74.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  74.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  74.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  74.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  74.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  202|  74.2k|        COMPILE_TIME_ASSERT_ALIGNED1(U32)
  ------------------
  |  |  446|  74.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  74.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  74.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  74.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  74.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  74.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  74.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  74.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  74.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  74.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  74.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  74.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  74.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  74.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  74.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  74.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  74.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  74.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  203|  74.2k|        COMPILE_TIME_ASSERT_ALIGNED1(U64)
  ------------------
  |  |  446|  74.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  74.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  74.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  74.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  74.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  74.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  74.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  74.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  74.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  74.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  74.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  74.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  74.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  74.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  74.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  74.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  74.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  74.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  74.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  74.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  204|  74.2k|    }
_ZNK10N_BELE_RTP8BEPolicy5get16EPKv:
  113|   169k|    V unsigned get16(const void *p) C { return get_be16(p); }
_ZNK10N_BELE_RTP8BEPolicy5get24EPKv:
  114|  28.2k|    V unsigned get24(const void *p) C { return get_be24(p); }
_ZNK10N_BELE_RTP8BEPolicy5get32EPKv:
  115|   756k|    V unsigned get32(const void *p) C { return get_be32(p); }
_ZNK10N_BELE_RTP8BEPolicy5get64EPKv:
  116|  86.5k|    V upx_uint64_t get64(const void *p) C { return get_be64(p); }
_ZNK10N_BELE_RTP8BEPolicy12get16_signedEPKv:
  123|  28.2k|    V int get16_signed(const void *p) C { return get_be16_signed(p); }
_ZNK10N_BELE_RTP8BEPolicy12get24_signedEPKv:
  124|  28.2k|    V int get24_signed(const void *p) C { return get_be24_signed(p); }
_ZNK10N_BELE_RTP8BEPolicy12get32_signedEPKv:
  125|  28.2k|    V int get32_signed(const void *p) C { return get_be32_signed(p); }
_ZNK10N_BELE_RTP8BEPolicy12get64_signedEPKv:
  126|  28.2k|    V upx_int64_t get64_signed(const void *p) C { return get_be64_signed(p); }
_ZNK10N_BELE_RTP8LEPolicy5get16EPKv:
  172|   500k|    V unsigned get16(const void *p) C { return get_le16(p); }
_ZNK10N_BELE_RTP8LEPolicy5get24EPKv:
  173|  28.2k|    V unsigned get24(const void *p) C { return get_le24(p); }
_ZNK10N_BELE_RTP8LEPolicy5get32EPKv:
  174|   277k|    V unsigned get32(const void *p) C { return get_le32(p); }
_ZNK10N_BELE_RTP8LEPolicy5get64EPKv:
  175|   154k|    V upx_uint64_t get64(const void *p) C { return get_le64(p); }
_ZNK10N_BELE_RTP8LEPolicy12get16_signedEPKv:
  182|  28.2k|    V int get16_signed(const void *p) C { return get_le16_signed(p); }
_ZNK10N_BELE_RTP8LEPolicy12get24_signedEPKv:
  183|  28.2k|    V int get24_signed(const void *p) C { return get_le24_signed(p); }
_ZNK10N_BELE_RTP8LEPolicy12get32_signedEPKv:
  184|  28.2k|    V int get32_signed(const void *p) C { return get_le32_signed(p); }
_ZNK10N_BELE_RTP8LEPolicy12get64_signedEPKv:
  185|  28.2k|    V upx_int64_t get64_signed(const void *p) C { return get_le64_signed(p); }

_Z17upx_doctest_checkiPPc:
   44|  14.1k|int upx_doctest_check(int argc, char **argv) {
   45|       |#if defined(DOCTEST_CONFIG_DISABLE)
   46|       |    UNUSED(argc);
   47|       |    UNUSED(argv);
   48|       |    return 0;
   49|       |#else
   50|  14.1k|    if (is_envvar_true("UPX_DEBUG_DOCTEST_DISABLE", "UPX_DEBUG_DISABLE_DOCTEST"))
  ------------------
  |  Branch (50:9): [True: 0, False: 14.1k]
  ------------------
   51|      0|        return 0;
   52|  14.1k|    bool minimal = true;   // don't show summary
   53|  14.1k|    bool duration = false; // don't show timings
   54|  14.1k|    bool success = false;  // don't show all succeeding tests
   55|       |#if DEBUG
   56|       |    // default for debug builds: do show the [doctest] summary
   57|       |    minimal = false;
   58|       |#endif
   59|  14.1k|    const char *e = upx_getenv("UPX_DEBUG_DOCTEST_VERBOSE");
   60|  14.1k|    if (e && e[0]) {
  ------------------
  |  Branch (60:9): [True: 0, False: 14.1k]
  |  Branch (60:14): [True: 0, False: 0]
  ------------------
   61|      0|        if (strcmp(e, "0") == 0) {
  ------------------
  |  Branch (61:13): [True: 0, False: 0]
  ------------------
   62|      0|            minimal = true;
   63|      0|        } else if (strcmp(e, "1") == 0) {
  ------------------
  |  Branch (63:20): [True: 0, False: 0]
  ------------------
   64|      0|            minimal = false;
   65|      0|        } else if (strcmp(e, "2") == 0) {
  ------------------
  |  Branch (65:20): [True: 0, False: 0]
  ------------------
   66|      0|            minimal = false;
   67|      0|            duration = true;
   68|      0|        } else if (strcmp(e, "3") == 0) {
  ------------------
  |  Branch (68:20): [True: 0, False: 0]
  ------------------
   69|      0|            minimal = false;
   70|      0|            duration = true;
   71|      0|            success = true;
   72|      0|        }
   73|      0|    }
   74|  14.1k|    doctest::Context context;
   75|  14.1k|    if (minimal)
  ------------------
  |  Branch (75:9): [True: 14.1k, False: 0]
  ------------------
   76|  14.1k|        context.setOption("dt-minimal", true);
   77|  14.1k|    if (duration)
  ------------------
  |  Branch (77:9): [True: 0, False: 14.1k]
  ------------------
   78|      0|        context.setOption("dt-duration", true);
   79|  14.1k|    if (success)
  ------------------
  |  Branch (79:9): [True: 0, False: 14.1k]
  ------------------
   80|      0|        context.setOption("dt-success", true);
   81|       |    // this requires that main_get_options() understands/ignores doctest "--dt-XXX" options
   82|  14.1k|    if (argc > 0 && argv != nullptr)
  ------------------
  |  Branch (82:9): [True: 14.1k, False: 0]
  |  Branch (82:21): [True: 14.1k, False: 0]
  ------------------
   83|  14.1k|        context.applyCommandLine(argc, argv);
   84|  14.1k|    int r = context.run();
   85|  14.1k|    if (r != 0)
  ------------------
  |  Branch (85:9): [True: 0, False: 14.1k]
  ------------------
   86|      0|        return 1;
   87|  14.1k|    if (context.shouldExit())
  ------------------
  |  Branch (87:9): [True: 0, False: 14.1k]
  ------------------
   88|      0|        return 2;
   89|  14.1k|    return 0;
   90|  14.1k|#endif // DOCTEST_CONFIG_DISABLE
   91|  14.1k|}
_Z25upx_compiler_sanity_checkv:
  849|  28.2k|void upx_compiler_sanity_check() noexcept {
  850|  28.2k|    check_basic_floating_point();
  851|       |
  852|  28.2k|    if (is_envvar_true("UPX_DEBUG_DOCTEST_DISABLE", "UPX_DEBUG_DISABLE_DOCTEST")) {
  ------------------
  |  Branch (852:9): [True: 0, False: 28.2k]
  ------------------
  853|       |        // If UPX_DEBUG_DOCTEST_DISABLE is set then we don't want to throw any
  854|       |        // exceptions in order to improve debugging experience.
  855|  28.2k|    } else {
  856|       |        // check working C++ exception handling to early catch toolchain/qemu/wine/etc problems
  857|  28.2k|        check_basic_cxx_exception_handling(throwSomeValue);
  858|  28.2k|    }
  859|       |
  860|       |    // check_basic_decltype()
  861|  28.2k|    {
  862|  28.2k|        auto a = +0;
  863|  28.2k|        constexpr auto b = -0;
  864|  28.2k|        const auto &c = -1;
  865|  28.2k|        static_assert((std::is_same<int, decltype(a)>::value));
  866|  28.2k|        static_assert((std::is_same<const int, decltype(b)>::value));
  867|  28.2k|        static_assert((std::is_same<const int &, decltype(c)>::value));
  868|  28.2k|        UNUSED(a);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  869|  28.2k|        UNUSED(b);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  870|  28.2k|        UNUSED(c);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  871|  28.2k|    }
  872|       |
  873|  28.2k|#define ACC_WANT_ACC_CHK_CH 1
  874|  28.2k|#undef ACCCHK_ASSERT
  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  876|  28.2k|#include "../util/miniacc.h"
  ------------------
  |  |    1|       |/* ACC --- Automatic Compiler Configuration
  |  |    2|       |
  |  |    3|       |   This file is part of the UPX executable compressor.
  |  |    4|       |
  |  |    5|       |   Copyright (C) Markus Franz Xaver Johannes Oberhumer
  |  |    6|       |   All Rights Reserved.
  |  |    7|       |
  |  |    8|       |   UPX and the UCL library are free software; you can redistribute them
  |  |    9|       |   and/or modify them under the terms of the GNU General Public License as
  |  |   10|       |   published by the Free Software Foundation; either version 2 of
  |  |   11|       |   the License, or (at your option) any later version.
  |  |   12|       |
  |  |   13|       |   This program is distributed in the hope that it will be useful,
  |  |   14|       |   but WITHOUT ANY WARRANTY; without even the implied warranty of
  |  |   15|       |   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  |  |   16|       |   GNU General Public License for more details.
  |  |   17|       |
  |  |   18|       |   You should have received a copy of the GNU General Public License
  |  |   19|       |   along with this program; see the file COPYING.
  |  |   20|       |   If not, write to the Free Software Foundation, Inc.,
  |  |   21|       |   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  |  |   22|       |
  |  |   23|       |   Markus F.X.J. Oberhumer
  |  |   24|       |   <markus@oberhumer.com>
  |  |   25|       |   http://www.oberhumer.com/
  |  |   26|       | */
  |  |   27|       |
  |  |   28|       |/* clang-format off */
  |  |   29|       |
  |  |   30|       |#ifndef __ACC_H_INCLUDED
  |  |   31|       |#define __ACC_H_INCLUDED 1
  |  |   32|       |#define ACC_VERSION     20240701L
  |  |   33|       |#if defined(__CYGWIN32__) && !defined(__CYGWIN__)
  |  |   34|       |#  define __CYGWIN__ __CYGWIN32__
  |  |   35|       |#endif
  |  |   36|       |#if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE)
  |  |   37|       |#  define _ALL_SOURCE 1
  |  |   38|       |#endif
  |  |   39|       |#if defined(__mips__) && defined(__R5900__)
  |  |   40|       |#  if !defined(__LONG_MAX__)
  |  |   41|       |#    define __LONG_MAX__ 9223372036854775807L
  |  |   42|       |#  endif
  |  |   43|       |#endif
  |  |   44|       |#if 0
  |  |   45|       |#elif !defined(__ACC_LANG_OVERRIDE)
  |  |   46|       |#if (defined(__clang__) || defined(__GNUC__)) && defined(__ASSEMBLER__)
  |  |   47|       |#  if (__ASSEMBLER__+0) <= 0
  |  |   48|       |#    error "__ASSEMBLER__"
  |  |   49|       |#  else
  |  |   50|       |#    define ACC_LANG_ASSEMBLER  1
  |  |   51|       |#  endif
  |  |   52|       |#elif defined(__cplusplus)
  |  |   53|       |#  if (__cplusplus+0) <= 0
  |  |   54|       |#    error "__cplusplus"
  |  |   55|       |#  elif (__cplusplus < 199711L)
  |  |   56|       |#    define ACC_LANG_CXX        1
  |  |   57|       |#  elif (__cplusplus >= 201402L)
  |  |   58|       |#    define ACC_LANG_CXX        __cplusplus
  |  |   59|       |#  elif defined(_MSC_VER) && defined(_MSVC_LANG) && (_MSVC_LANG+0 >= 201402L) && 1
  |  |   60|       |#    define ACC_LANG_CXX        _MSVC_LANG
  |  |   61|       |#  else
  |  |   62|       |#    define ACC_LANG_CXX        __cplusplus
  |  |   63|       |#  endif
  |  |   64|       |#  define ACC_LANG_CPLUSPLUS    ACC_LANG_CXX
  |  |   65|       |#else
  |  |   66|       |#  if defined(__STDC_VERSION__) && (__STDC_VERSION__+0 >= 199409L)
  |  |   67|       |#    define ACC_LANG_C          __STDC_VERSION__
  |  |   68|       |#  else
  |  |   69|       |#    define ACC_LANG_C          1
  |  |   70|       |#  endif
  |  |   71|       |#endif
  |  |   72|       |#endif
  |  |   73|       |#if defined(ACC_CFG_ASSERT_LANG_ASSEMBLER) && (ACC_CFG_ASSERT_LANG_ASSEMBLER+0)
  |  |   74|       |#  if !(ACC_LANG_ASSEMBLER)
  |  |   75|       |#    error "ACC_CFG_ASSERT_LANG_ASSEMBLER"
  |  |   76|       |#  endif
  |  |   77|       |#  if (ACC_CFG_ASSERT_LANG_ASSEMBLER > 1) && (ACC_CFG_ASSERT_LANG_ASSEMBLER < ACC_LANG_ASSEMBLER)
  |  |   78|       |#    error "ACC_CFG_ASSERT_LANG_ASSEMBLER standard min version"
  |  |   79|       |#  endif
  |  |   80|       |#endif
  |  |   81|       |#if defined(ACC_CFG_ASSERT_LANG_C) && (ACC_CFG_ASSERT_LANG_C+0)
  |  |   82|       |#  if !(ACC_LANG_C)
  |  |   83|       |#    error "ACC_CFG_ASSERT_LANG_C"
  |  |   84|       |#  endif
  |  |   85|       |#  if (ACC_CFG_ASSERT_LANG_C > 1) && (ACC_CFG_ASSERT_LANG_C < ACC_LANG_C)
  |  |   86|       |#    error "ACC_CFG_ASSERT_LANG_C standard min version"
  |  |   87|       |#  endif
  |  |   88|       |#endif
  |  |   89|       |#if defined(ACC_CFG_ASSERT_LANG_CXX) && (ACC_CFG_ASSERT_LANG_CXX+0)
  |  |   90|       |#  if !(ACC_LANG_CXX)
  |  |   91|       |#    error "ACC_CFG_ASSERT_LANG_CXX"
  |  |   92|       |#  endif
  |  |   93|       |#  if !defined(__cplusplus)
  |  |   94|       |#    error "ACC_CFG_ASSERT_LANG_CXX  __cplusplus"
  |  |   95|       |#  endif
  |  |   96|       |#  if (ACC_CFG_ASSERT_LANG_CXX > 1) && (ACC_CFG_ASSERT_LANG_CXX < ACC_LANG_CXX)
  |  |   97|       |#    error "ACC_CFG_ASSERT_LANG_CXX standard min version"
  |  |   98|       |#  endif
  |  |   99|       |#endif
  |  |  100|       |#if !defined(ACC_CFG_NO_DISABLE_WUNDEF)
  |  |  101|       |#if defined(__ARMCC_VERSION)
  |  |  102|       |#  pragma diag_suppress 193
  |  |  103|       |#elif defined(__clang__) && defined(__clang_minor__)
  |  |  104|       |#  pragma clang diagnostic ignored "-Wundef"
  |  |  105|       |#elif defined(__INTEL_COMPILER)
  |  |  106|       |#  pragma warning(disable: 193)
  |  |  107|       |#elif defined(__KEIL__) && defined(__C166__)
  |  |  108|       |#  pragma warning disable = 322
  |  |  109|       |#elif defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__PATHSCALE__)
  |  |  110|       |#  if ((__GNUC__-0) >= 5 || ((__GNUC__-0) == 4 && (__GNUC_MINOR__-0) >= 2))
  |  |  111|       |#    pragma GCC diagnostic ignored "-Wundef"
  |  |  112|       |#  endif
  |  |  113|       |#elif defined(_MSC_VER) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__)
  |  |  114|       |#  if ((_MSC_VER-0) >= 1300)
  |  |  115|       |#    pragma warning(disable: 4668)
  |  |  116|       |#  endif
  |  |  117|       |#endif
  |  |  118|       |#endif
  |  |  119|       |#if 0 && defined(__POCC__) && defined(_WIN32)
  |  |  120|       |#  if (__POCC__ >= 400)
  |  |  121|       |#    pragma warn(disable: 2216)
  |  |  122|       |#  endif
  |  |  123|       |#endif
  |  |  124|       |#if 0 && defined(__WATCOMC__)
  |  |  125|       |#  if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060)
  |  |  126|       |#    pragma warning 203 9
  |  |  127|       |#  endif
  |  |  128|       |#endif
  |  |  129|       |#if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__)
  |  |  130|       |#  pragma option -h
  |  |  131|       |#endif
  |  |  132|       |#if !(ACC_CFG_NO_DISABLE_WCRTNONSTDC)
  |  |  133|       |#ifndef _CRT_NONSTDC_NO_DEPRECATE
  |  |  134|       |#define _CRT_NONSTDC_NO_DEPRECATE 1
  |  |  135|       |#endif
  |  |  136|       |#ifndef _CRT_NONSTDC_NO_WARNINGS
  |  |  137|       |#define _CRT_NONSTDC_NO_WARNINGS 1
  |  |  138|       |#endif
  |  |  139|       |#ifndef _CRT_SECURE_NO_DEPRECATE
  |  |  140|       |#define _CRT_SECURE_NO_DEPRECATE 1
  |  |  141|       |#endif
  |  |  142|       |#ifndef _CRT_SECURE_NO_WARNINGS
  |  |  143|       |#define _CRT_SECURE_NO_WARNINGS 1
  |  |  144|       |#endif
  |  |  145|       |#endif
  |  |  146|       |#if (ACC_CFG_NO_CONFIG_HEADER)
  |  |  147|       |#elif defined(ACC_CFG_CONFIG_HEADER)
  |  |  148|       |#  include ACC_CFG_CONFIG_HEADER
  |  |  149|       |#else
  |  |  150|       |#endif
  |  |  151|       |#if (ACC_CFG_NO_LIMITS_H)
  |  |  152|       |#elif (ACC_LIBC_NAKED) || (ACC_BROKEN_LIMITS_H)
  |  |  153|       |#ifndef __ACC_FALLBACK_LIMITS_H_INCLUDED
  |  |  154|       |#define __ACC_FALLBACK_LIMITS_H_INCLUDED 1
  |  |  155|       |#undef CHAR_BIT
  |  |  156|       |#define CHAR_BIT        8
  |  |  157|       |#ifndef MB_LEN_MAX
  |  |  158|       |#define MB_LEN_MAX      1
  |  |  159|       |#endif
  |  |  160|       |#ifndef __SCHAR_MAX__
  |  |  161|       |#define __SCHAR_MAX__   127
  |  |  162|       |#endif
  |  |  163|       |#ifndef __SHRT_MAX__
  |  |  164|       |#define __SHRT_MAX__    32767
  |  |  165|       |#endif
  |  |  166|       |#ifndef __INT_MAX__
  |  |  167|       |#define __INT_MAX__     2147483647
  |  |  168|       |#endif
  |  |  169|       |#ifndef __LONG_MAX__
  |  |  170|       |#if defined(_ILP32) || defined(__ILP32__)
  |  |  171|       |#define __LONG_MAX__    2147483647L
  |  |  172|       |#elif defined(__alpha__) || defined(_LP64) || defined(__MIPS_PSX2__)
  |  |  173|       |#define __LONG_MAX__    9223372036854775807L
  |  |  174|       |#else
  |  |  175|       |#define __LONG_MAX__    2147483647L
  |  |  176|       |#endif
  |  |  177|       |#endif
  |  |  178|       |#undef SCHAR_MIN
  |  |  179|       |#undef SCHAR_MAX
  |  |  180|       |#undef UCHAR_MAX
  |  |  181|       |#define SCHAR_MIN       (-1 - SCHAR_MAX)
  |  |  182|       |#define SCHAR_MAX       (__SCHAR_MAX__)
  |  |  183|       |#define UCHAR_MAX       (SCHAR_MAX * 2 + 1)
  |  |  184|       |#undef SHRT_MIN
  |  |  185|       |#undef SHRT_MAX
  |  |  186|       |#undef USHRT_MAX
  |  |  187|       |#define SHRT_MIN        (-1 - SHRT_MAX)
  |  |  188|       |#define SHRT_MAX        (__SHRT_MAX__)
  |  |  189|       |#if ((__INT_MAX__) == (__SHRT_MAX__))
  |  |  190|       |#define USHRT_MAX       (SHRT_MAX * 2U + 1U)
  |  |  191|       |#else
  |  |  192|       |#define USHRT_MAX       (SHRT_MAX * 2 + 1)
  |  |  193|       |#endif
  |  |  194|       |#undef INT_MIN
  |  |  195|       |#undef INT_MAX
  |  |  196|       |#undef UINT_MAX
  |  |  197|       |#define INT_MIN         (-1 - INT_MAX)
  |  |  198|       |#define INT_MAX         (__INT_MAX__)
  |  |  199|       |#define UINT_MAX        (INT_MAX * 2U + 1U)
  |  |  200|       |#undef LONG_MIN
  |  |  201|       |#undef LONG_MAX
  |  |  202|       |#undef ULONG_MAX
  |  |  203|       |#define LONG_MIN        (-1L - LONG_MAX)
  |  |  204|       |#define LONG_MAX        ((__LONG_MAX__) + 0L)
  |  |  205|       |#define ULONG_MAX       (LONG_MAX * 2UL + 1UL)
  |  |  206|       |#undef CHAR_MIN
  |  |  207|       |#undef CHAR_MAX
  |  |  208|       |#if defined(__CHAR_UNSIGNED__) || defined(_CHAR_UNSIGNED)
  |  |  209|       |#define CHAR_MIN        0
  |  |  210|       |#define CHAR_MAX        UCHAR_MAX
  |  |  211|       |#else
  |  |  212|       |#define CHAR_MIN        SCHAR_MIN
  |  |  213|       |#define CHAR_MAX        SCHAR_MAX
  |  |  214|       |#endif
  |  |  215|       |#endif
  |  |  216|       |#else
  |  |  217|       |#  include <limits.h>
  |  |  218|       |#endif
  |  |  219|       |#if 0
  |  |  220|       |#define ACC_0xffffUL            0xfffful
  |  |  221|       |#define ACC_0xffffffffUL        0xfffffffful
  |  |  222|       |#else
  |  |  223|       |#define ACC_0xffffUL            65535ul
  |  |  224|       |#define ACC_0xffffffffUL        4294967295ul
  |  |  225|       |#endif
  |  |  226|       |#define ACC_0xffffL             ACC_0xffffUL
  |  |  227|       |#define ACC_0xffffffffL         ACC_0xffffffffUL
  |  |  228|       |#if (ACC_0xffffL == ACC_0xffffffffL)
  |  |  229|       |#  error "your preprocessor is broken 1"
  |  |  230|       |#endif
  |  |  231|       |#if (16ul * 16384ul != 262144ul)
  |  |  232|       |#  error "your preprocessor is broken 2"
  |  |  233|       |#endif
  |  |  234|       |#if 0
  |  |  235|       |#if (32767 >= 4294967295ul)
  |  |  236|       |#  error "your preprocessor is broken 3"
  |  |  237|       |#endif
  |  |  238|       |#if (65535u >= 4294967295ul)
  |  |  239|       |#  error "your preprocessor is broken 4"
  |  |  240|       |#endif
  |  |  241|       |#endif
  |  |  242|       |#if defined(__COUNTER__)
  |  |  243|       |#  ifndef ACC_CFG_USE_COUNTER
  |  |  244|       |#  define ACC_CFG_USE_COUNTER 1
  |  |  245|       |#  endif
  |  |  246|       |#else
  |  |  247|       |#  undef ACC_CFG_USE_COUNTER
  |  |  248|       |#endif
  |  |  249|       |#if (UINT_MAX == ACC_0xffffL)
  |  |  250|       |#if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__)
  |  |  251|       |#  if !defined(MSDOS)
  |  |  252|       |#    define MSDOS 1
  |  |  253|       |#  endif
  |  |  254|       |#  if !defined(_MSDOS)
  |  |  255|       |#    define _MSDOS 1
  |  |  256|       |#  endif
  |  |  257|       |#elif 0 && defined(__VERSION) && defined(MB_LEN_MAX)
  |  |  258|       |#  if (__VERSION == 520) && (MB_LEN_MAX == 1)
  |  |  259|       |#    if !defined(__AZTEC_C__)
  |  |  260|       |#      define __AZTEC_C__ __VERSION
  |  |  261|       |#    endif
  |  |  262|       |#    if !defined(__DOS__)
  |  |  263|       |#      define __DOS__ 1
  |  |  264|       |#    endif
  |  |  265|       |#  endif
  |  |  266|       |#endif
  |  |  267|       |#endif
  |  |  268|       |#if (UINT_MAX == ACC_0xffffL)
  |  |  269|       |#if defined(_MSC_VER) && defined(M_I86HM)
  |  |  270|       |#  define ptrdiff_t long
  |  |  271|       |#  define _PTRDIFF_T_DEFINED 1
  |  |  272|       |#endif
  |  |  273|       |#endif
  |  |  274|       |#if (UINT_MAX == ACC_0xffffL)
  |  |  275|       |#  undef __ACC_RENAME_A
  |  |  276|       |#  undef __ACC_RENAME_B
  |  |  277|       |#  if defined(__AZTEC_C__) && defined(__DOS__)
  |  |  278|       |#    define __ACC_RENAME_A 1
  |  |  279|       |#  elif defined(_MSC_VER) && defined(MSDOS)
  |  |  280|       |#    if (_MSC_VER < 600)
  |  |  281|       |#      define __ACC_RENAME_A 1
  |  |  282|       |#    elif (_MSC_VER < 700)
  |  |  283|       |#      define __ACC_RENAME_B 1
  |  |  284|       |#    endif
  |  |  285|       |#  elif defined(__TSC__) && defined(__OS2__)
  |  |  286|       |#    define __ACC_RENAME_A 1
  |  |  287|       |#  elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410)
  |  |  288|       |#    define __ACC_RENAME_A 1
  |  |  289|       |#  elif defined(__PACIFIC__) && defined(DOS)
  |  |  290|       |#    if !defined(__far)
  |  |  291|       |#      define __far far
  |  |  292|       |#    endif
  |  |  293|       |#    if !defined(__near)
  |  |  294|       |#      define __near near
  |  |  295|       |#    endif
  |  |  296|       |#  endif
  |  |  297|       |#  if defined(__ACC_RENAME_A)
  |  |  298|       |#    if !defined(__cdecl)
  |  |  299|       |#      define __cdecl cdecl
  |  |  300|       |#    endif
  |  |  301|       |#    if !defined(__far)
  |  |  302|       |#      define __far far
  |  |  303|       |#    endif
  |  |  304|       |#    if !defined(__huge)
  |  |  305|       |#      define __huge huge
  |  |  306|       |#    endif
  |  |  307|       |#    if !defined(__near)
  |  |  308|       |#      define __near near
  |  |  309|       |#    endif
  |  |  310|       |#    if !defined(__pascal)
  |  |  311|       |#      define __pascal pascal
  |  |  312|       |#    endif
  |  |  313|       |#    if !defined(__huge)
  |  |  314|       |#      define __huge huge
  |  |  315|       |#    endif
  |  |  316|       |#  elif defined(__ACC_RENAME_B)
  |  |  317|       |#    if !defined(__cdecl)
  |  |  318|       |#      define __cdecl _cdecl
  |  |  319|       |#    endif
  |  |  320|       |#    if !defined(__far)
  |  |  321|       |#      define __far _far
  |  |  322|       |#    endif
  |  |  323|       |#    if !defined(__huge)
  |  |  324|       |#      define __huge _huge
  |  |  325|       |#    endif
  |  |  326|       |#    if !defined(__near)
  |  |  327|       |#      define __near _near
  |  |  328|       |#    endif
  |  |  329|       |#    if !defined(__pascal)
  |  |  330|       |#      define __pascal _pascal
  |  |  331|       |#    endif
  |  |  332|       |#  elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
  |  |  333|       |#    if !defined(__cdecl)
  |  |  334|       |#      define __cdecl cdecl
  |  |  335|       |#    endif
  |  |  336|       |#    if !defined(__pascal)
  |  |  337|       |#      define __pascal pascal
  |  |  338|       |#    endif
  |  |  339|       |#  endif
  |  |  340|       |#  undef __ACC_RENAME_A
  |  |  341|       |#  undef __ACC_RENAME_B
  |  |  342|       |#endif
  |  |  343|       |#if (UINT_MAX == ACC_0xffffL)
  |  |  344|       |#if defined(__AZTEC_C__) && defined(__DOS__)
  |  |  345|       |#  define ACC_BROKEN_CDECL_ALT_SYNTAX 1
  |  |  346|       |#elif defined(_MSC_VER) && defined(MSDOS)
  |  |  347|       |#  if (_MSC_VER < 600)
  |  |  348|       |#    define ACC_BROKEN_INTEGRAL_CONSTANTS 1
  |  |  349|       |#  endif
  |  |  350|       |#  if (_MSC_VER < 700)
  |  |  351|       |#    define ACC_BROKEN_INTEGRAL_PROMOTION 1
  |  |  352|       |#    define ACC_BROKEN_SIZEOF 1
  |  |  353|       |#  endif
  |  |  354|       |#elif defined(__PACIFIC__) && defined(DOS)
  |  |  355|       |#  define ACC_BROKEN_INTEGRAL_CONSTANTS 1
  |  |  356|       |#elif defined(__TURBOC__) && defined(__MSDOS__)
  |  |  357|       |#  if (__TURBOC__ < 0x0150)
  |  |  358|       |#    define ACC_BROKEN_CDECL_ALT_SYNTAX 1
  |  |  359|       |#    define ACC_BROKEN_INTEGRAL_CONSTANTS 1
  |  |  360|       |#    define ACC_BROKEN_INTEGRAL_PROMOTION 1
  |  |  361|       |#  endif
  |  |  362|       |#  if (__TURBOC__ < 0x0200)
  |  |  363|       |#    define ACC_BROKEN_SIZEOF 1
  |  |  364|       |#  endif
  |  |  365|       |#  if (__TURBOC__ < 0x0400) && defined(__cplusplus)
  |  |  366|       |#    define ACC_BROKEN_CDECL_ALT_SYNTAX 1
  |  |  367|       |#  endif
  |  |  368|       |#elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
  |  |  369|       |#  define ACC_BROKEN_CDECL_ALT_SYNTAX 1
  |  |  370|       |#  define ACC_BROKEN_SIZEOF 1
  |  |  371|       |#endif
  |  |  372|       |#endif
  |  |  373|       |#if defined(__WATCOMC__) && (__WATCOMC__ < 900)
  |  |  374|       |#  define ACC_BROKEN_INTEGRAL_CONSTANTS 1
  |  |  375|       |#endif
  |  |  376|       |#if defined(_CRAY) && defined(_CRAY1)
  |  |  377|       |#  define ACC_BROKEN_SIGNED_RIGHT_SHIFT 1
  |  |  378|       |#endif
  |  |  379|       |#define ACC_PP_STRINGIZE(x)             #x
  |  |  380|       |#define ACC_PP_MACRO_EXPAND(x)          ACC_PP_STRINGIZE(x)
  |  |  381|       |#define ACC_PP_CONCAT0()                /*empty*/
  |  |  382|       |#define ACC_PP_CONCAT1(a)               a
  |  |  383|       |#define ACC_PP_CONCAT2(a,b)             a ## b
  |  |  384|       |#define ACC_PP_CONCAT3(a,b,c)           a ## b ## c
  |  |  385|       |#define ACC_PP_CONCAT4(a,b,c,d)         a ## b ## c ## d
  |  |  386|       |#define ACC_PP_CONCAT5(a,b,c,d,e)       a ## b ## c ## d ## e
  |  |  387|       |#define ACC_PP_CONCAT6(a,b,c,d,e,f)     a ## b ## c ## d ## e ## f
  |  |  388|       |#define ACC_PP_CONCAT7(a,b,c,d,e,f,g)   a ## b ## c ## d ## e ## f ## g
  |  |  389|       |#define ACC_PP_ECONCAT0()               ACC_PP_CONCAT0()
  |  |  390|       |#define ACC_PP_ECONCAT1(a)              ACC_PP_CONCAT1(a)
  |  |  391|       |#define ACC_PP_ECONCAT2(a,b)            ACC_PP_CONCAT2(a,b)
  |  |  392|       |#define ACC_PP_ECONCAT3(a,b,c)          ACC_PP_CONCAT3(a,b,c)
  |  |  393|       |#define ACC_PP_ECONCAT4(a,b,c,d)        ACC_PP_CONCAT4(a,b,c,d)
  |  |  394|       |#define ACC_PP_ECONCAT5(a,b,c,d,e)      ACC_PP_CONCAT5(a,b,c,d,e)
  |  |  395|       |#define ACC_PP_ECONCAT6(a,b,c,d,e,f)    ACC_PP_CONCAT6(a,b,c,d,e,f)
  |  |  396|       |#define ACC_PP_ECONCAT7(a,b,c,d,e,f,g)  ACC_PP_CONCAT7(a,b,c,d,e,f,g)
  |  |  397|       |#define ACC_PP_EMPTY                    /*empty*/
  |  |  398|       |#define ACC_PP_EMPTY0()                 /*empty*/
  |  |  399|       |#define ACC_PP_EMPTY1(a)                /*empty*/
  |  |  400|       |#define ACC_PP_EMPTY2(a,b)              /*empty*/
  |  |  401|       |#define ACC_PP_EMPTY3(a,b,c)            /*empty*/
  |  |  402|       |#define ACC_PP_EMPTY4(a,b,c,d)          /*empty*/
  |  |  403|       |#define ACC_PP_EMPTY5(a,b,c,d,e)        /*empty*/
  |  |  404|       |#define ACC_PP_EMPTY6(a,b,c,d,e,f)      /*empty*/
  |  |  405|       |#define ACC_PP_EMPTY7(a,b,c,d,e,f,g)    /*empty*/
  |  |  406|       |#if 1
  |  |  407|       |#define ACC_CPP_STRINGIZE(x)            #x
  |  |  408|       |#define ACC_CPP_MACRO_EXPAND(x)         ACC_CPP_STRINGIZE(x)
  |  |  409|       |#define ACC_CPP_CONCAT2(a,b)            a ## b
  |  |  410|       |#define ACC_CPP_CONCAT3(a,b,c)          a ## b ## c
  |  |  411|       |#define ACC_CPP_CONCAT4(a,b,c,d)        a ## b ## c ## d
  |  |  412|       |#define ACC_CPP_CONCAT5(a,b,c,d,e)      a ## b ## c ## d ## e
  |  |  413|       |#define ACC_CPP_CONCAT6(a,b,c,d,e,f)    a ## b ## c ## d ## e ## f
  |  |  414|       |#define ACC_CPP_CONCAT7(a,b,c,d,e,f,g)  a ## b ## c ## d ## e ## f ## g
  |  |  415|       |#define ACC_CPP_ECONCAT2(a,b)           ACC_CPP_CONCAT2(a,b)
  |  |  416|       |#define ACC_CPP_ECONCAT3(a,b,c)         ACC_CPP_CONCAT3(a,b,c)
  |  |  417|       |#define ACC_CPP_ECONCAT4(a,b,c,d)       ACC_CPP_CONCAT4(a,b,c,d)
  |  |  418|       |#define ACC_CPP_ECONCAT5(a,b,c,d,e)     ACC_CPP_CONCAT5(a,b,c,d,e)
  |  |  419|       |#define ACC_CPP_ECONCAT6(a,b,c,d,e,f)   ACC_CPP_CONCAT6(a,b,c,d,e,f)
  |  |  420|       |#define ACC_CPP_ECONCAT7(a,b,c,d,e,f,g) ACC_CPP_CONCAT7(a,b,c,d,e,f,g)
  |  |  421|       |#endif
  |  |  422|       |#define __ACC_MASK_GEN(o,b)     (((((o) << ((b)-((b)!=0))) - (o)) << 1) + (o)*((b)!=0))
  |  |  423|       |#if 1 && defined(__cplusplus)
  |  |  424|       |#  if !defined(__STDC_CONSTANT_MACROS)
  |  |  425|       |#    define __STDC_CONSTANT_MACROS 1
  |  |  426|       |#  endif
  |  |  427|       |#  if !defined(__STDC_LIMIT_MACROS)
  |  |  428|       |#    define __STDC_LIMIT_MACROS 1
  |  |  429|       |#  endif
  |  |  430|       |#endif
  |  |  431|       |#if defined(__cplusplus)
  |  |  432|       |#  define ACC_EXTERN_C          extern "C"
  |  |  433|       |#  define ACC_EXTERN_C_BEGIN    extern "C" {
  |  |  434|       |#  define ACC_EXTERN_C_END      }
  |  |  435|       |#else
  |  |  436|       |#  define ACC_EXTERN_C          extern
  |  |  437|       |#  define ACC_EXTERN_C_BEGIN    /*empty*/
  |  |  438|       |#  define ACC_EXTERN_C_END      /*empty*/
  |  |  439|       |#endif
  |  |  440|       |#if !defined(ACC_nullptr)
  |  |  441|       |#if defined(__cplusplus) && (__cplusplus-0 >= 201103L)
  |  |  442|       |#  define ACC_nullptr           nullptr
  |  |  443|       |#endif
  |  |  444|       |#endif
  |  |  445|       |#if !defined(ACC_nullptr)
  |  |  446|       |#  define ACC_nullptr           NULL
  |  |  447|       |#endif
  |  |  448|       |#if !defined(__ACC_OS_OVERRIDE)
  |  |  449|       |#if (ACC_OS_FREESTANDING)
  |  |  450|       |#  define ACC_INFO_OS           "freestanding"
  |  |  451|       |#elif (ACC_OS_EMBEDDED)
  |  |  452|       |#  define ACC_INFO_OS           "embedded"
  |  |  453|       |#elif 1 && defined(__IAR_SYSTEMS_ICC__)
  |  |  454|       |#  define ACC_OS_EMBEDDED       1
  |  |  455|       |#  define ACC_INFO_OS           "embedded"
  |  |  456|       |#elif defined(__CYGWIN__) && defined(__GNUC__)
  |  |  457|       |#  define ACC_OS_CYGWIN         1
  |  |  458|       |#  define ACC_INFO_OS           "cygwin"
  |  |  459|       |#elif defined(__EMX__) && defined(__GNUC__)
  |  |  460|       |#  define ACC_OS_EMX            1
  |  |  461|       |#  define ACC_INFO_OS           "emx"
  |  |  462|       |#elif defined(__BEOS__)
  |  |  463|       |#  define ACC_OS_BEOS           1
  |  |  464|       |#  define ACC_INFO_OS           "beos"
  |  |  465|       |#elif defined(__Lynx__)
  |  |  466|       |#  define ACC_OS_LYNXOS         1
  |  |  467|       |#  define ACC_INFO_OS           "lynxos"
  |  |  468|       |#elif defined(__OS400__)
  |  |  469|       |#  define ACC_OS_OS400          1
  |  |  470|       |#  define ACC_INFO_OS           "os400"
  |  |  471|       |#elif defined(__QNX__)
  |  |  472|       |#  define ACC_OS_QNX            1
  |  |  473|       |#  define ACC_INFO_OS           "qnx"
  |  |  474|       |#elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460)
  |  |  475|       |#  define ACC_OS_DOS32          1
  |  |  476|       |#  define ACC_INFO_OS           "dos32"
  |  |  477|       |#elif defined(__BORLANDC__) && defined(__DPMI16__)
  |  |  478|       |#  define ACC_OS_DOS16          1
  |  |  479|       |#  define ACC_INFO_OS           "dos16"
  |  |  480|       |#elif defined(__ZTC__) && defined(DOS386)
  |  |  481|       |#  define ACC_OS_DOS32          1
  |  |  482|       |#  define ACC_INFO_OS           "dos32"
  |  |  483|       |#elif defined(__OS2__) || defined(__OS2V2__)
  |  |  484|       |#  if (UINT_MAX == ACC_0xffffL)
  |  |  485|       |#    define ACC_OS_OS216        1
  |  |  486|       |#    define ACC_INFO_OS         "os216"
  |  |  487|       |#  elif (UINT_MAX == ACC_0xffffffffL)
  |  |  488|       |#    define ACC_OS_OS2          1
  |  |  489|       |#    define ACC_INFO_OS         "os2"
  |  |  490|       |#  else
  |  |  491|       |#    error "check your limits.h header"
  |  |  492|       |#  endif
  |  |  493|       |#elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64)
  |  |  494|       |#  define ACC_OS_WIN64          1
  |  |  495|       |#  define ACC_INFO_OS           "win64"
  |  |  496|       |#elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__)
  |  |  497|       |#  define ACC_OS_WIN32          1
  |  |  498|       |#  define ACC_INFO_OS           "win32"
  |  |  499|       |#elif defined(__MWERKS__) && defined(__INTEL__)
  |  |  500|       |#  define ACC_OS_WIN32          1
  |  |  501|       |#  define ACC_INFO_OS           "win32"
  |  |  502|       |#elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows)
  |  |  503|       |#  if (UINT_MAX == ACC_0xffffL)
  |  |  504|       |#    define ACC_OS_WIN16        1
  |  |  505|       |#    define ACC_INFO_OS         "win16"
  |  |  506|       |#  elif (UINT_MAX == ACC_0xffffffffL)
  |  |  507|       |#    define ACC_OS_WIN32        1
  |  |  508|       |#    define ACC_INFO_OS         "win32"
  |  |  509|       |#  else
  |  |  510|       |#    error "check your limits.h header"
  |  |  511|       |#  endif
  |  |  512|       |#elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS))
  |  |  513|       |#  if (UINT_MAX == ACC_0xffffL)
  |  |  514|       |#    define ACC_OS_DOS16        1
  |  |  515|       |#    define ACC_INFO_OS         "dos16"
  |  |  516|       |#  elif (UINT_MAX == ACC_0xffffffffL)
  |  |  517|       |#    define ACC_OS_DOS32        1
  |  |  518|       |#    define ACC_INFO_OS         "dos32"
  |  |  519|       |#  else
  |  |  520|       |#    error "check your limits.h header"
  |  |  521|       |#  endif
  |  |  522|       |#elif defined(__WATCOMC__)
  |  |  523|       |#  if defined(__NT__) && (UINT_MAX == ACC_0xffffL)
  |  |  524|       |#    define ACC_OS_DOS16        1
  |  |  525|       |#    define ACC_INFO_OS         "dos16"
  |  |  526|       |#  elif defined(__NT__) && (__WATCOMC__ < 1100)
  |  |  527|       |#    define ACC_OS_WIN32        1
  |  |  528|       |#    define ACC_INFO_OS         "win32"
  |  |  529|       |#  elif defined(__linux__) || defined(__LINUX__)
  |  |  530|       |#    define ACC_OS_POSIX        1
  |  |  531|       |#    define ACC_INFO_OS         "posix"
  |  |  532|       |#  else
  |  |  533|       |#    error "please specify a target using the -bt compiler option"
  |  |  534|       |#  endif
  |  |  535|       |#elif defined(__palmos__)
  |  |  536|       |#  define ACC_OS_PALMOS         1
  |  |  537|       |#  define ACC_INFO_OS           "palmos"
  |  |  538|       |#elif defined(__TOS__) || defined(__atarist__)
  |  |  539|       |#  define ACC_OS_TOS            1
  |  |  540|       |#  define ACC_INFO_OS           "tos"
  |  |  541|       |#elif defined(macintosh) && !defined(__arm__) && !defined(__i386__) && !defined(__ppc__) && !defined(__x64_64__)
  |  |  542|       |#  define ACC_OS_MACCLASSIC     1
  |  |  543|       |#  define ACC_INFO_OS           "macclassic"
  |  |  544|       |#elif defined(__VMS)
  |  |  545|       |#  define ACC_OS_VMS            1
  |  |  546|       |#  define ACC_INFO_OS           "vms"
  |  |  547|       |#elif (defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)
  |  |  548|       |#  define ACC_OS_CONSOLE        1
  |  |  549|       |#  define ACC_OS_CONSOLE_PS2    1
  |  |  550|       |#  define ACC_INFO_OS           "console"
  |  |  551|       |#  define ACC_INFO_OS_CONSOLE   "ps2"
  |  |  552|       |#elif defined(__mips__) && defined(__psp__)
  |  |  553|       |#  define ACC_OS_CONSOLE        1
  |  |  554|       |#  define ACC_OS_CONSOLE_PSP    1
  |  |  555|       |#  define ACC_INFO_OS           "console"
  |  |  556|       |#  define ACC_INFO_OS_CONSOLE   "psp"
  |  |  557|       |#else
  |  |  558|       |#  define ACC_OS_POSIX          1
  |  |  559|       |#  define ACC_INFO_OS           "posix"
  |  |  560|       |#endif
  |  |  561|       |#if (ACC_OS_POSIX)
  |  |  562|       |#  if defined(_AIX) || defined(__AIX__) || defined(__aix__)
  |  |  563|       |#    define ACC_OS_POSIX_AIX        1
  |  |  564|       |#    define ACC_INFO_OS_POSIX       "aix"
  |  |  565|       |#  elif defined(__DragonFly__)
  |  |  566|       |#    define ACC_OS_POSIX_DRAGONFLY  1
  |  |  567|       |#    define ACC_INFO_OS_POSIX       "dragonfly"
  |  |  568|       |#  elif defined(__FreeBSD__)
  |  |  569|       |#    define ACC_OS_POSIX_FREEBSD    1
  |  |  570|       |#    define ACC_INFO_OS_POSIX       "freebsd"
  |  |  571|       |#  elif defined(__hpux__) || defined(__hpux)
  |  |  572|       |#    define ACC_OS_POSIX_HPUX       1
  |  |  573|       |#    define ACC_INFO_OS_POSIX       "hpux"
  |  |  574|       |#  elif defined(__INTERIX)
  |  |  575|       |#    define ACC_OS_POSIX_INTERIX    1
  |  |  576|       |#    define ACC_INFO_OS_POSIX       "interix"
  |  |  577|       |#  elif defined(__IRIX__) || defined(__irix__)
  |  |  578|       |#    define ACC_OS_POSIX_IRIX       1
  |  |  579|       |#    define ACC_INFO_OS_POSIX       "irix"
  |  |  580|       |#  elif defined(__linux__) || defined(__linux) || defined(__LINUX__)
  |  |  581|       |#    define ACC_OS_POSIX_LINUX      1
  |  |  582|       |#    define ACC_INFO_OS_POSIX       "linux"
  |  |  583|       |#  elif defined(__APPLE__) && defined(__MACH__)
  |  |  584|       |#    if ((__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__-0) >= 20000)
  |  |  585|       |#      define ACC_OS_POSIX_DARWIN     1040
  |  |  586|       |#      define ACC_INFO_OS_POSIX       "darwin_iphone"
  |  |  587|       |#    elif ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) >= 1040)
  |  |  588|       |#      define ACC_OS_POSIX_DARWIN     __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
  |  |  589|       |#      define ACC_INFO_OS_POSIX       "darwin"
  |  |  590|       |#    else
  |  |  591|       |#      define ACC_OS_POSIX_DARWIN     1
  |  |  592|       |#      define ACC_INFO_OS_POSIX       "darwin"
  |  |  593|       |#    endif
  |  |  594|       |#    define ACC_OS_POSIX_MACOSX     ACC_OS_POSIX_DARWIN
  |  |  595|       |#  elif defined(__minix__) || defined(__minix)
  |  |  596|       |#    define ACC_OS_POSIX_MINIX      1
  |  |  597|       |#    define ACC_INFO_OS_POSIX       "minix"
  |  |  598|       |#  elif defined(__NetBSD__)
  |  |  599|       |#    define ACC_OS_POSIX_NETBSD     1
  |  |  600|       |#    define ACC_INFO_OS_POSIX       "netbsd"
  |  |  601|       |#  elif defined(__OpenBSD__)
  |  |  602|       |#    define ACC_OS_POSIX_OPENBSD    1
  |  |  603|       |#    define ACC_INFO_OS_POSIX       "openbsd"
  |  |  604|       |#  elif defined(__osf__)
  |  |  605|       |#    define ACC_OS_POSIX_OSF        1
  |  |  606|       |#    define ACC_INFO_OS_POSIX       "osf"
  |  |  607|       |#  elif defined(__solaris__) || defined(__sun)
  |  |  608|       |#    if defined(__SVR4) || defined(__svr4__)
  |  |  609|       |#      define ACC_OS_POSIX_SOLARIS  1
  |  |  610|       |#      define ACC_INFO_OS_POSIX     "solaris"
  |  |  611|       |#    else
  |  |  612|       |#      define ACC_OS_POSIX_SUNOS    1
  |  |  613|       |#      define ACC_INFO_OS_POSIX     "sunos"
  |  |  614|       |#    endif
  |  |  615|       |#  elif defined(__ultrix__) || defined(__ultrix)
  |  |  616|       |#    define ACC_OS_POSIX_ULTRIX     1
  |  |  617|       |#    define ACC_INFO_OS_POSIX       "ultrix"
  |  |  618|       |#  elif defined(_UNICOS)
  |  |  619|       |#    define ACC_OS_POSIX_UNICOS     1
  |  |  620|       |#    define ACC_INFO_OS_POSIX       "unicos"
  |  |  621|       |#  else
  |  |  622|       |#    define ACC_OS_POSIX_UNKNOWN    1
  |  |  623|       |#    define ACC_INFO_OS_POSIX       "unknown"
  |  |  624|       |#  endif
  |  |  625|       |#endif
  |  |  626|       |#endif
  |  |  627|       |#if (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
  |  |  628|       |#  if (UINT_MAX != ACC_0xffffL)
  |  |  629|       |#    error "unexpected configuration - check your compiler defines"
  |  |  630|       |#  endif
  |  |  631|       |#  if (ULONG_MAX != ACC_0xffffffffL)
  |  |  632|       |#    error "unexpected configuration - check your compiler defines"
  |  |  633|       |#  endif
  |  |  634|       |#endif
  |  |  635|       |#if (ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  |  636|       |#  if (UINT_MAX != ACC_0xffffffffL)
  |  |  637|       |#    error "unexpected configuration - check your compiler defines"
  |  |  638|       |#  endif
  |  |  639|       |#  if (ULONG_MAX != ACC_0xffffffffL)
  |  |  640|       |#    error "unexpected configuration - check your compiler defines"
  |  |  641|       |#  endif
  |  |  642|       |#endif
  |  |  643|       |#if defined(CIL) && defined(_GNUCC) && defined(__GNUC__)
  |  |  644|       |#  define ACC_CC_CILLY          1
  |  |  645|       |#  define ACC_INFO_CC           "Cilly"
  |  |  646|       |#  if defined(__CILLY__)
  |  |  647|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__CILLY__)
  |  |  648|       |#  else
  |  |  649|       |#    define ACC_INFO_CCVER      "unknown"
  |  |  650|       |#  endif
  |  |  651|       |#elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__)
  |  |  652|       |#  define ACC_CC_SDCC           1
  |  |  653|       |#  define ACC_INFO_CC           "sdcc"
  |  |  654|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(SDCC)
  |  |  655|       |#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__)
  |  |  656|       |#  define ACC_CC_PATHSCALE      (__PATHCC__ * 0x10000L + (__PATHCC_MINOR__-0) * 0x100 + (__PATHCC_PATCHLEVEL__-0))
  |  |  657|       |#  define ACC_INFO_CC           "Pathscale C"
  |  |  658|       |#  define ACC_INFO_CCVER        __PATHSCALE__
  |  |  659|       |#  if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
  |  |  660|       |#    define ACC_CC_PATHSCALE_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
  |  |  661|       |#  endif
  |  |  662|       |#elif defined(__INTEL_COMPILER) && ((__INTEL_COMPILER-0) > 0)
  |  |  663|       |#  define ACC_CC_INTELC         __INTEL_COMPILER
  |  |  664|       |#  define ACC_INFO_CC           "Intel C"
  |  |  665|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__INTEL_COMPILER)
  |  |  666|       |#  if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
  |  |  667|       |#    define ACC_CC_INTELC_MSC   _MSC_VER
  |  |  668|       |#  elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
  |  |  669|       |#    define ACC_CC_INTELC_GNUC   (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
  |  |  670|       |#  endif
  |  |  671|       |#elif defined(__POCC__) && defined(_WIN32)
  |  |  672|       |#  define ACC_CC_PELLESC        1
  |  |  673|       |#  define ACC_INFO_CC           "Pelles C"
  |  |  674|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__POCC__)
  |  |  675|       |#elif defined(__ARMCC_VERSION) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
  |  |  676|       |#  if defined(__GNUC_PATCHLEVEL__)
  |  |  677|       |#    define ACC_CC_ARMCC_GNUC   (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
  |  |  678|       |#  else
  |  |  679|       |#    define ACC_CC_ARMCC_GNUC   (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100)
  |  |  680|       |#  endif
  |  |  681|       |#  define ACC_CC_ARMCC          __ARMCC_VERSION
  |  |  682|       |#  define ACC_INFO_CC           "ARM C Compiler"
  |  |  683|       |#  define ACC_INFO_CCVER        __VERSION__
  |  |  684|       |#elif defined(__clang__) && defined(__c2__) && defined(__c2_version__) && defined(_MSC_VER)
  |  |  685|       |#  define ACC_CC_CLANG          (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0))
  |  |  686|       |#  define ACC_CC_CLANG_C2       _MSC_VER
  |  |  687|       |#  define ACC_CC_CLANG_VENDOR_MICROSOFT 1
  |  |  688|       |#  define ACC_INFO_CC           "clang/c2"
  |  |  689|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__c2_version__)
  |  |  690|       |#elif defined(__clang__) && defined(__llvm__) && defined(__VERSION__)
  |  |  691|       |#  if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__)
  |  |  692|       |#    define ACC_CC_CLANG        (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0))
  |  |  693|       |#  else
  |  |  694|       |#    define ACC_CC_CLANG        0x010000L
  |  |  695|       |#  endif
  |  |  696|       |#  if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
  |  |  697|       |#    define ACC_CC_CLANG_MSC    _MSC_VER
  |  |  698|       |#  elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
  |  |  699|       |#    define ACC_CC_CLANG_GNUC   (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
  |  |  700|       |#  endif
  |  |  701|       |#  if defined(__APPLE_CC__)
  |  |  702|       |#    define ACC_CC_CLANG_VENDOR_APPLE 1
  |  |  703|       |#    define ACC_INFO_CC         "clang/apple"
  |  |  704|       |#  else
  |  |  705|       |#    define ACC_CC_CLANG_VENDOR_LLVM 1
  |  |  706|       |#    define ACC_INFO_CC         "clang"
  |  |  707|       |#  endif
  |  |  708|       |#  if defined(__clang_version__)
  |  |  709|       |#    define ACC_INFO_CCVER      __clang_version__
  |  |  710|       |#  else
  |  |  711|       |#    define ACC_INFO_CCVER      __VERSION__
  |  |  712|       |#  endif
  |  |  713|       |#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
  |  |  714|       |#  if defined(__GNUC_PATCHLEVEL__)
  |  |  715|       |#    define ACC_CC_LLVM_GNUC    (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
  |  |  716|       |#  else
  |  |  717|       |#    define ACC_CC_LLVM_GNUC    (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100)
  |  |  718|       |#  endif
  |  |  719|       |#  define ACC_CC_LLVM           ACC_CC_LLVM_GNUC
  |  |  720|       |#  define ACC_INFO_CC           "llvm-gcc"
  |  |  721|       |#  define ACC_INFO_CCVER        __VERSION__
  |  |  722|       |#elif defined(__ACK__) && defined(_ACK)
  |  |  723|       |#  define ACC_CC_ACK            1
  |  |  724|       |#  define ACC_INFO_CC           "Amsterdam Compiler Kit C"
  |  |  725|       |#  define ACC_INFO_CCVER        "unknown"
  |  |  726|       |#elif defined(__ARMCC_VERSION) && !defined(__GNUC__)
  |  |  727|       |#  define ACC_CC_ARMCC          __ARMCC_VERSION
  |  |  728|       |#  define ACC_CC_ARMCC_ARMCC    __ARMCC_VERSION
  |  |  729|       |#  define ACC_INFO_CC           "ARM C Compiler"
  |  |  730|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__ARMCC_VERSION)
  |  |  731|       |#elif defined(__AZTEC_C__)
  |  |  732|       |#  define ACC_CC_AZTECC         1
  |  |  733|       |#  define ACC_INFO_CC           "Aztec C"
  |  |  734|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__AZTEC_C__)
  |  |  735|       |#elif defined(__CODEGEARC__)
  |  |  736|       |#  define ACC_CC_CODEGEARC      1
  |  |  737|       |#  define ACC_INFO_CC           "CodeGear C"
  |  |  738|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__CODEGEARC__)
  |  |  739|       |#elif defined(__BORLANDC__)
  |  |  740|       |#  define ACC_CC_BORLANDC       1
  |  |  741|       |#  define ACC_INFO_CC           "Borland C"
  |  |  742|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__BORLANDC__)
  |  |  743|       |#elif defined(_CRAYC) && defined(_RELEASE)
  |  |  744|       |#  define ACC_CC_CRAYC          1
  |  |  745|       |#  define ACC_INFO_CC           "Cray C"
  |  |  746|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(_RELEASE)
  |  |  747|       |#elif defined(__DMC__) && defined(__SC__)
  |  |  748|       |#  define ACC_CC_DMC            1
  |  |  749|       |#  define ACC_INFO_CC           "Digital Mars C"
  |  |  750|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__DMC__)
  |  |  751|       |#elif defined(__DECC)
  |  |  752|       |#  define ACC_CC_DECC           1
  |  |  753|       |#  define ACC_INFO_CC           "DEC C"
  |  |  754|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__DECC)
  |  |  755|       |#elif (defined(__ghs) || defined(__ghs__)) && defined(__GHS_VERSION_NUMBER) && ((__GHS_VERSION_NUMBER-0) > 0)
  |  |  756|       |#  define ACC_CC_GHS            1
  |  |  757|       |#  define ACC_INFO_CC           "Green Hills C"
  |  |  758|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__GHS_VERSION_NUMBER)
  |  |  759|       |#  if defined(_MSC_VER) && ((_MSC_VER-0) > 0)
  |  |  760|       |#    define ACC_CC_GHS_MSC      _MSC_VER
  |  |  761|       |#  elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
  |  |  762|       |#    define ACC_CC_GHS_GNUC     (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
  |  |  763|       |#  endif
  |  |  764|       |#elif defined(__HIGHC__)
  |  |  765|       |#  define ACC_CC_HIGHC          1
  |  |  766|       |#  define ACC_INFO_CC           "MetaWare High C"
  |  |  767|       |#  define ACC_INFO_CCVER        "unknown"
  |  |  768|       |#elif defined(__HP_aCC) && ((__HP_aCC-0) > 0)
  |  |  769|       |#  define ACC_CC_HPACC          __HP_aCC
  |  |  770|       |#  define ACC_INFO_CC           "HP aCC"
  |  |  771|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__HP_aCC)
  |  |  772|       |#elif defined(__IAR_SYSTEMS_ICC__)
  |  |  773|       |#  define ACC_CC_IARC           1
  |  |  774|       |#  define ACC_INFO_CC           "IAR C"
  |  |  775|       |#  if defined(__VER__)
  |  |  776|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__VER__)
  |  |  777|       |#  else
  |  |  778|       |#    define ACC_INFO_CCVER      "unknown"
  |  |  779|       |#  endif
  |  |  780|       |#elif defined(__IBMC__) && ((__IBMC__-0) > 0)
  |  |  781|       |#  define ACC_CC_IBMC           __IBMC__
  |  |  782|       |#  define ACC_INFO_CC           "IBM C"
  |  |  783|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__IBMC__)
  |  |  784|       |#elif defined(__IBMCPP__) && ((__IBMCPP__-0) > 0)
  |  |  785|       |#  define ACC_CC_IBMC           __IBMCPP__
  |  |  786|       |#  define ACC_INFO_CC           "IBM C"
  |  |  787|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__IBMCPP__)
  |  |  788|       |#elif defined(__KEIL__) && defined(__C166__)
  |  |  789|       |#  define ACC_CC_KEILC          1
  |  |  790|       |#  define ACC_INFO_CC           "Keil C"
  |  |  791|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__C166__)
  |  |  792|       |#elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL)
  |  |  793|       |#  define ACC_CC_LCCWIN32       1
  |  |  794|       |#  define ACC_INFO_CC           "lcc-win32"
  |  |  795|       |#  define ACC_INFO_CCVER        "unknown"
  |  |  796|       |#elif defined(__LCC__)
  |  |  797|       |#  define ACC_CC_LCC            1
  |  |  798|       |#  define ACC_INFO_CC           "lcc"
  |  |  799|       |#  if defined(__LCC_VERSION__)
  |  |  800|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__LCC_VERSION__)
  |  |  801|       |#  else
  |  |  802|       |#    define ACC_INFO_CCVER      "unknown"
  |  |  803|       |#  endif
  |  |  804|       |#elif defined(__MWERKS__) && ((__MWERKS__-0) > 0)
  |  |  805|       |#  define ACC_CC_MWERKS         __MWERKS__
  |  |  806|       |#  define ACC_INFO_CC           "Metrowerks C"
  |  |  807|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__MWERKS__)
  |  |  808|       |#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
  |  |  809|       |#  define ACC_CC_NDPC           1
  |  |  810|       |#  define ACC_INFO_CC           "Microway NDP C"
  |  |  811|       |#  define ACC_INFO_CCVER        "unknown"
  |  |  812|       |#elif defined(__PACIFIC__)
  |  |  813|       |#  define ACC_CC_PACIFICC       1
  |  |  814|       |#  define ACC_INFO_CC           "Pacific C"
  |  |  815|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__PACIFIC__)
  |  |  816|       |#elif defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__)
  |  |  817|       |#  if defined(__PGIC_PATCHLEVEL__)
  |  |  818|       |#    define ACC_CC_PGI          (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100 + (__PGIC_PATCHLEVEL__-0))
  |  |  819|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__PGIC__) "." ACC_PP_MACRO_EXPAND(__PGIC_MINOR__) "." ACC_PP_MACRO_EXPAND(__PGIC_PATCHLEVEL__)
  |  |  820|       |#  else
  |  |  821|       |#    define ACC_CC_PGI          (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100)
  |  |  822|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__PGIC__) "." ACC_PP_MACRO_EXPAND(__PGIC_MINOR__) ".0"
  |  |  823|       |#  endif
  |  |  824|       |#  define ACC_INFO_CC           "Portland Group PGI C"
  |  |  825|       |#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
  |  |  826|       |#  define ACC_CC_PGI            1
  |  |  827|       |#  define ACC_INFO_CC           "Portland Group PGI C"
  |  |  828|       |#  define ACC_INFO_CCVER        "unknown"
  |  |  829|       |#elif defined(__PUREC__) && defined(__TOS__)
  |  |  830|       |#  define ACC_CC_PUREC          1
  |  |  831|       |#  define ACC_INFO_CC           "Pure C"
  |  |  832|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__PUREC__)
  |  |  833|       |#elif defined(__SC__) && defined(__ZTC__)
  |  |  834|       |#  define ACC_CC_SYMANTECC      1
  |  |  835|       |#  define ACC_INFO_CC           "Symantec C"
  |  |  836|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__SC__)
  |  |  837|       |#elif defined(__SUNPRO_C)
  |  |  838|       |#  define ACC_INFO_CC           "SunPro C"
  |  |  839|       |#  if ((__SUNPRO_C-0) > 0)
  |  |  840|       |#    define ACC_CC_SUNPROC      __SUNPRO_C
  |  |  841|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__SUNPRO_C)
  |  |  842|       |#  else
  |  |  843|       |#    define ACC_CC_SUNPROC      1
  |  |  844|       |#    define ACC_INFO_CCVER      "unknown"
  |  |  845|       |#  endif
  |  |  846|       |#elif defined(__SUNPRO_CC)
  |  |  847|       |#  define ACC_INFO_CC           "SunPro C"
  |  |  848|       |#  if ((__SUNPRO_CC-0) > 0)
  |  |  849|       |#    define ACC_CC_SUNPROC      __SUNPRO_CC
  |  |  850|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__SUNPRO_CC)
  |  |  851|       |#  else
  |  |  852|       |#    define ACC_CC_SUNPROC      1
  |  |  853|       |#    define ACC_INFO_CCVER      "unknown"
  |  |  854|       |#  endif
  |  |  855|       |#elif defined(__TINYC__)
  |  |  856|       |#  define ACC_CC_TINYC          1
  |  |  857|       |#  define ACC_INFO_CC           "Tiny C"
  |  |  858|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__TINYC__)
  |  |  859|       |#elif defined(__TSC__)
  |  |  860|       |#  define ACC_CC_TOPSPEEDC      1
  |  |  861|       |#  define ACC_INFO_CC           "TopSpeed C"
  |  |  862|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__TSC__)
  |  |  863|       |#elif defined(__WATCOMC__)
  |  |  864|       |#  define ACC_CC_WATCOMC        1
  |  |  865|       |#  define ACC_INFO_CC           "Watcom C"
  |  |  866|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__WATCOMC__)
  |  |  867|       |#elif defined(__TURBOC__)
  |  |  868|       |#  define ACC_CC_TURBOC         1
  |  |  869|       |#  define ACC_INFO_CC           "Turbo C"
  |  |  870|       |#  define ACC_INFO_CCVER        ACC_PP_MACRO_EXPAND(__TURBOC__)
  |  |  871|       |#elif defined(__ZTC__)
  |  |  872|       |#  define ACC_CC_ZORTECHC       1
  |  |  873|       |#  define ACC_INFO_CC           "Zortech C"
  |  |  874|       |#  if ((__ZTC__-0) == 0x310)
  |  |  875|       |#    define ACC_INFO_CCVER      "0x310"
  |  |  876|       |#  else
  |  |  877|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(__ZTC__)
  |  |  878|       |#  endif
  |  |  879|       |#elif defined(__GNUC__) && defined(__VERSION__)
  |  |  880|       |#  if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
  |  |  881|       |#    define ACC_CC_GNUC         (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
  |  |  882|       |#  elif defined(__GNUC_MINOR__)
  |  |  883|       |#    define ACC_CC_GNUC         (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100)
  |  |  884|       |#  else
  |  |  885|       |#    define ACC_CC_GNUC         (__GNUC__ * 0x10000L)
  |  |  886|       |#  endif
  |  |  887|       |#  define ACC_INFO_CC           "gcc"
  |  |  888|       |#  define ACC_INFO_CCVER        __VERSION__
  |  |  889|       |#elif defined(_MSC_VER) && ((_MSC_VER-0) > 0)
  |  |  890|       |#  define ACC_CC_MSC            _MSC_VER
  |  |  891|       |#  define ACC_INFO_CC           "Microsoft C"
  |  |  892|       |#  if defined(_MSC_FULL_VER)
  |  |  893|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(_MSC_VER) "." ACC_PP_MACRO_EXPAND(_MSC_FULL_VER)
  |  |  894|       |#  else
  |  |  895|       |#    define ACC_INFO_CCVER      ACC_PP_MACRO_EXPAND(_MSC_VER)
  |  |  896|       |#  endif
  |  |  897|       |#else
  |  |  898|       |#  define ACC_CC_UNKNOWN        1
  |  |  899|       |#  define ACC_INFO_CC           "unknown"
  |  |  900|       |#  define ACC_INFO_CCVER        "unknown"
  |  |  901|       |#endif
  |  |  902|       |#if (ACC_CC_GNUC) && defined(__OPEN64__)
  |  |  903|       |#  if defined(__OPENCC__) && defined(__OPENCC_MINOR__) && defined(__OPENCC_PATCHLEVEL__)
  |  |  904|       |#    define ACC_CC_OPEN64       (__OPENCC__ * 0x10000L + (__OPENCC_MINOR__-0) * 0x100 + (__OPENCC_PATCHLEVEL__-0))
  |  |  905|       |#    define ACC_CC_OPEN64_GNUC  ACC_CC_GNUC
  |  |  906|       |#  endif
  |  |  907|       |#endif
  |  |  908|       |#if (ACC_CC_GNUC) && defined(__PCC__)
  |  |  909|       |#  if defined(__PCC__) && defined(__PCC_MINOR__) && defined(__PCC_MINORMINOR__)
  |  |  910|       |#    define ACC_CC_PCC          (__PCC__ * 0x10000L + (__PCC_MINOR__-0) * 0x100 + (__PCC_MINORMINOR__-0))
  |  |  911|       |#    define ACC_CC_PCC_GNUC     ACC_CC_GNUC
  |  |  912|       |#  endif
  |  |  913|       |#endif
  |  |  914|       |#if 0 && (ACC_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
  |  |  915|       |#  error "ACC_CC_MSC: _MSC_FULL_VER is not defined"
  |  |  916|       |#endif
  |  |  917|       |#if !defined(__ACC_ARCH_OVERRIDE) && !(ACC_ARCH_GENERIC) && defined(_CRAY)
  |  |  918|       |#  if (UINT_MAX > ACC_0xffffffffL) && defined(_CRAY)
  |  |  919|       |#    if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E)
  |  |  920|       |#      define ACC_ARCH_CRAY_MPP     1
  |  |  921|       |#    elif defined(_CRAY1)
  |  |  922|       |#      define ACC_ARCH_CRAY_PVP     1
  |  |  923|       |#    endif
  |  |  924|       |#  endif
  |  |  925|       |#endif
  |  |  926|       |#if !defined(__ACC_ARCH_OVERRIDE)
  |  |  927|       |#if (ACC_ARCH_GENERIC)
  |  |  928|       |#  define ACC_INFO_ARCH             "generic"
  |  |  929|       |#elif (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
  |  |  930|       |#  define ACC_ARCH_I086             1
  |  |  931|       |#  define ACC_INFO_ARCH             "i086"
  |  |  932|       |#elif defined(__aarch64__) || defined(_M_ARM64)
  |  |  933|       |#  define ACC_ARCH_ARM64            1
  |  |  934|       |#  define ACC_INFO_ARCH             "arm64"
  |  |  935|       |#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
  |  |  936|       |#  define ACC_ARCH_ALPHA            1
  |  |  937|       |#  define ACC_INFO_ARCH             "alpha"
  |  |  938|       |#elif (ACC_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E))
  |  |  939|       |#  define ACC_ARCH_ALPHA            1
  |  |  940|       |#  define ACC_INFO_ARCH             "alpha"
  |  |  941|       |#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
  |  |  942|       |#  define ACC_ARCH_AMD64            1
  |  |  943|       |#  define ACC_INFO_ARCH             "amd64"
  |  |  944|       |#elif defined(__arm__) || defined(_M_ARM)
  |  |  945|       |#  define ACC_ARCH_ARM              1
  |  |  946|       |#  define ACC_INFO_ARCH             "arm"
  |  |  947|       |#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__)
  |  |  948|       |#  define ACC_ARCH_ARM              1
  |  |  949|       |#  define ACC_INFO_ARCH             "arm"
  |  |  950|       |#elif (UINT_MAX <= ACC_0xffffL) && defined(__AVR__)
  |  |  951|       |#  define ACC_ARCH_AVR              1
  |  |  952|       |#  define ACC_INFO_ARCH             "avr"
  |  |  953|       |#elif defined(__avr32__) || defined(__AVR32__)
  |  |  954|       |#  define ACC_ARCH_AVR32            1
  |  |  955|       |#  define ACC_INFO_ARCH             "avr32"
  |  |  956|       |#elif defined(__bfin__)
  |  |  957|       |#  define ACC_ARCH_BLACKFIN         1
  |  |  958|       |#  define ACC_INFO_ARCH             "blackfin"
  |  |  959|       |#elif (UINT_MAX == ACC_0xffffL) && defined(__C166__)
  |  |  960|       |#  define ACC_ARCH_C166             1
  |  |  961|       |#  define ACC_INFO_ARCH             "c166"
  |  |  962|       |#elif defined(__cris__)
  |  |  963|       |#  define ACC_ARCH_CRIS             1
  |  |  964|       |#  define ACC_INFO_ARCH             "cris"
  |  |  965|       |#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__)
  |  |  966|       |#  define ACC_ARCH_EZ80             1
  |  |  967|       |#  define ACC_INFO_ARCH             "ez80"
  |  |  968|       |#elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
  |  |  969|       |#  define ACC_ARCH_H8300            1
  |  |  970|       |#  define ACC_INFO_ARCH             "h8300"
  |  |  971|       |#elif defined(__hppa__) || defined(__hppa)
  |  |  972|       |#  define ACC_ARCH_HPPA             1
  |  |  973|       |#  define ACC_INFO_ARCH             "hppa"
  |  |  974|       |#elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386)
  |  |  975|       |#  define ACC_ARCH_I386             1
  |  |  976|       |#  define ACC_ARCH_IA32             1
  |  |  977|       |#  define ACC_INFO_ARCH             "i386"
  |  |  978|       |#elif (ACC_CC_ZORTECHC && defined(__I86__))
  |  |  979|       |#  define ACC_ARCH_I386             1
  |  |  980|       |#  define ACC_ARCH_IA32             1
  |  |  981|       |#  define ACC_INFO_ARCH             "i386"
  |  |  982|       |#elif (ACC_OS_DOS32 && ACC_CC_HIGHC) && defined(_I386)
  |  |  983|       |#  define ACC_ARCH_I386             1
  |  |  984|       |#  define ACC_ARCH_IA32             1
  |  |  985|       |#  define ACC_INFO_ARCH             "i386"
  |  |  986|       |#elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64)
  |  |  987|       |#  define ACC_ARCH_IA64             1
  |  |  988|       |#  define ACC_INFO_ARCH             "ia64"
  |  |  989|       |#elif (UINT_MAX == ACC_0xffffL) && defined(__m32c__)
  |  |  990|       |#  define ACC_ARCH_M16C             1
  |  |  991|       |#  define ACC_INFO_ARCH             "m16c"
  |  |  992|       |#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__)
  |  |  993|       |#  define ACC_ARCH_M16C             1
  |  |  994|       |#  define ACC_INFO_ARCH             "m16c"
  |  |  995|       |#elif defined(__m32r__)
  |  |  996|       |#  define ACC_ARCH_M32R             1
  |  |  997|       |#  define ACC_INFO_ARCH             "m32r"
  |  |  998|       |#elif (ACC_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K)
  |  |  999|       |#  define ACC_ARCH_M68K             1
  |  | 1000|       |#  define ACC_INFO_ARCH             "m68k"
  |  | 1001|       |#elif (UINT_MAX == ACC_0xffffL) && defined(__C251__)
  |  | 1002|       |#  define ACC_ARCH_MCS251           1
  |  | 1003|       |#  define ACC_INFO_ARCH             "mcs251"
  |  | 1004|       |#elif (UINT_MAX == ACC_0xffffL) && defined(__C51__)
  |  | 1005|       |#  define ACC_ARCH_MCS51            1
  |  | 1006|       |#  define ACC_INFO_ARCH             "mcs51"
  |  | 1007|       |#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__)
  |  | 1008|       |#  define ACC_ARCH_MCS51            1
  |  | 1009|       |#  define ACC_INFO_ARCH             "mcs51"
  |  | 1010|       |#elif defined(__microblaze__) || defined(__MICROBLAZE__)
  |  | 1011|       |#  define ACC_ARCH_MICROBLAZE       1
  |  | 1012|       |#  define ACC_INFO_ARCH             "microblaze"
  |  | 1013|       |#elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000)
  |  | 1014|       |#  define ACC_ARCH_MIPS             1
  |  | 1015|       |#  define ACC_INFO_ARCH             "mips"
  |  | 1016|       |#elif (UINT_MAX == ACC_0xffffL) && defined(__MSP430__)
  |  | 1017|       |#  define ACC_ARCH_MSP430           1
  |  | 1018|       |#  define ACC_INFO_ARCH             "msp430"
  |  | 1019|       |#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__)
  |  | 1020|       |#  define ACC_ARCH_MSP430           1
  |  | 1021|       |#  define ACC_INFO_ARCH             "msp430"
  |  | 1022|       |#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR)
  |  | 1023|       |#  define ACC_ARCH_POWERPC          1
  |  | 1024|       |#  define ACC_INFO_ARCH             "powerpc"
  |  | 1025|       |#elif defined(__powerpc64__) || defined(__powerpc64) || defined(__ppc64__) || defined(__PPC64__)
  |  | 1026|       |#  define ACC_ARCH_POWERPC          1
  |  | 1027|       |#  define ACC_INFO_ARCH             "powerpc"
  |  | 1028|       |#elif defined(__powerpc64le__) || defined(__powerpc64le) || defined(__ppc64le__) || defined(__PPC64LE__)
  |  | 1029|       |#  define ACC_ARCH_POWERPC          1
  |  | 1030|       |#  define ACC_INFO_ARCH             "powerpc"
  |  | 1031|       |#elif defined(__riscv)
  |  | 1032|       |#  define ACC_ARCH_RISCV            1
  |  | 1033|       |#  define ACC_INFO_ARCH             "riscv"
  |  | 1034|       |#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x)
  |  | 1035|       |#  define ACC_ARCH_S390             1
  |  | 1036|       |#  define ACC_INFO_ARCH             "s390"
  |  | 1037|       |#elif defined(__sh__) || defined(_M_SH)
  |  | 1038|       |#  define ACC_ARCH_SH               1
  |  | 1039|       |#  define ACC_INFO_ARCH             "sh"
  |  | 1040|       |#elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8)
  |  | 1041|       |#  define ACC_ARCH_SPARC            1
  |  | 1042|       |#  define ACC_INFO_ARCH             "sparc"
  |  | 1043|       |#elif defined(__SPU__)
  |  | 1044|       |#  define ACC_ARCH_SPU              1
  |  | 1045|       |#  define ACC_INFO_ARCH             "spu"
  |  | 1046|       |#elif (UINT_MAX == ACC_0xffffL) && defined(__z80)
  |  | 1047|       |#  define ACC_ARCH_Z80              1
  |  | 1048|       |#  define ACC_INFO_ARCH             "z80"
  |  | 1049|       |#elif (ACC_ARCH_CRAY_PVP)
  |  | 1050|       |#  if defined(_CRAYSV1)
  |  | 1051|       |#    define ACC_ARCH_CRAY_SV1       1
  |  | 1052|       |#    define ACC_INFO_ARCH           "cray_sv1"
  |  | 1053|       |#  elif (_ADDR64)
  |  | 1054|       |#    define ACC_ARCH_CRAY_T90       1
  |  | 1055|       |#    define ACC_INFO_ARCH           "cray_t90"
  |  | 1056|       |#  elif (_ADDR32)
  |  | 1057|       |#    define ACC_ARCH_CRAY_YMP       1
  |  | 1058|       |#    define ACC_INFO_ARCH           "cray_ymp"
  |  | 1059|       |#  else
  |  | 1060|       |#    define ACC_ARCH_CRAY_XMP       1
  |  | 1061|       |#    define ACC_INFO_ARCH           "cray_xmp"
  |  | 1062|       |#  endif
  |  | 1063|       |#else
  |  | 1064|       |#  define ACC_ARCH_UNKNOWN          1
  |  | 1065|       |#  define ACC_INFO_ARCH             "unknown"
  |  | 1066|       |#endif
  |  | 1067|       |#endif
  |  | 1068|       |#if !defined(ACC_ARCH_ARM_THUMB2)
  |  | 1069|       |#if (ACC_ARCH_ARM)
  |  | 1070|       |#  if defined(__thumb__) || defined(__thumb) || defined(_M_THUMB)
  |  | 1071|       |#    if defined(__thumb2__)
  |  | 1072|       |#      define ACC_ARCH_ARM_THUMB2   1
  |  | 1073|       |#    elif 1 && defined(__TARGET_ARCH_THUMB) && ((__TARGET_ARCH_THUMB)+0 >= 4)
  |  | 1074|       |#      define ACC_ARCH_ARM_THUMB2   1
  |  | 1075|       |#    elif 1 && defined(_MSC_VER) && defined(_M_THUMB) && ((_M_THUMB)+0 >= 7)
  |  | 1076|       |#      define ACC_ARCH_ARM_THUMB2   1
  |  | 1077|       |#    endif
  |  | 1078|       |#  endif
  |  | 1079|       |#endif
  |  | 1080|       |#endif
  |  | 1081|       |#if (ACC_ARCH_ARM_THUMB2)
  |  | 1082|       |#  undef  ACC_INFO_ARCH
  |  | 1083|       |#  define ACC_INFO_ARCH             "arm_thumb2"
  |  | 1084|       |#endif
  |  | 1085|       |#if 1 && (ACC_ARCH_UNKNOWN) && (ACC_OS_DOS32 || ACC_OS_OS2)
  |  | 1086|       |#  error "FIXME - missing define for CPU architecture"
  |  | 1087|       |#endif
  |  | 1088|       |#if 1 && (ACC_ARCH_UNKNOWN) && (ACC_OS_WIN32)
  |  | 1089|       |#  error "FIXME - missing ACC_OS_WIN32 define for CPU architecture"
  |  | 1090|       |#endif
  |  | 1091|       |#if 1 && (ACC_ARCH_UNKNOWN) && (ACC_OS_WIN64)
  |  | 1092|       |#  error "FIXME - missing ACC_OS_WIN64 define for CPU architecture"
  |  | 1093|       |#endif
  |  | 1094|       |#if (ACC_OS_OS216 || ACC_OS_WIN16)
  |  | 1095|       |#  define ACC_ARCH_I086PM           1
  |  | 1096|       |#elif 1 && (ACC_OS_DOS16 && defined(BLX286))
  |  | 1097|       |#  define ACC_ARCH_I086PM           1
  |  | 1098|       |#elif 1 && (ACC_OS_DOS16 && defined(DOSX286))
  |  | 1099|       |#  define ACC_ARCH_I086PM           1
  |  | 1100|       |#elif 1 && (ACC_OS_DOS16 && ACC_CC_BORLANDC && defined(__DPMI16__))
  |  | 1101|       |#  define ACC_ARCH_I086PM           1
  |  | 1102|       |#endif
  |  | 1103|       |#if (ACC_ARCH_AMD64 && !ACC_ARCH_X64)
  |  | 1104|       |#  define ACC_ARCH_X64              1
  |  | 1105|       |#elif (!ACC_ARCH_AMD64 && ACC_ARCH_X64) && defined(__ACC_ARCH_OVERRIDE)
  |  | 1106|       |#  define ACC_ARCH_AMD64            1
  |  | 1107|       |#endif
  |  | 1108|       |#if (ACC_ARCH_ARM64 && !ACC_ARCH_AARCH64)
  |  | 1109|       |#  define ACC_ARCH_AARCH64          1
  |  | 1110|       |#elif (!ACC_ARCH_ARM64 && ACC_ARCH_AARCH64) && defined(__ACC_ARCH_OVERRIDE)
  |  | 1111|       |#  define ACC_ARCH_ARM64            1
  |  | 1112|       |#endif
  |  | 1113|       |#if (ACC_ARCH_I386 && !ACC_ARCH_X86)
  |  | 1114|       |#  define ACC_ARCH_X86              1
  |  | 1115|       |#elif (!ACC_ARCH_I386 && ACC_ARCH_X86) && defined(__ACC_ARCH_OVERRIDE)
  |  | 1116|       |#  define ACC_ARCH_I386            1
  |  | 1117|       |#endif
  |  | 1118|       |#if (ACC_ARCH_AMD64 && !ACC_ARCH_X64) || (!ACC_ARCH_AMD64 && ACC_ARCH_X64)
  |  | 1119|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1120|       |#endif
  |  | 1121|       |#if (ACC_ARCH_ARM64 && !ACC_ARCH_AARCH64) || (!ACC_ARCH_ARM64 && ACC_ARCH_AARCH64)
  |  | 1122|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1123|       |#endif
  |  | 1124|       |#if (ACC_ARCH_I386 && !ACC_ARCH_X86) || (!ACC_ARCH_I386 && ACC_ARCH_X86)
  |  | 1125|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1126|       |#endif
  |  | 1127|       |#if (ACC_ARCH_ARM_THUMB1 && !ACC_ARCH_ARM)
  |  | 1128|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1129|       |#endif
  |  | 1130|       |#if (ACC_ARCH_ARM_THUMB2 && !ACC_ARCH_ARM)
  |  | 1131|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1132|       |#endif
  |  | 1133|       |#if (ACC_ARCH_ARM_THUMB1 && ACC_ARCH_ARM_THUMB2)
  |  | 1134|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1135|       |#endif
  |  | 1136|       |#if (ACC_ARCH_I086PM && !ACC_ARCH_I086)
  |  | 1137|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1138|       |#endif
  |  | 1139|       |#if (ACC_ARCH_I086)
  |  | 1140|       |#  if (UINT_MAX != ACC_0xffffL)
  |  | 1141|       |#    error "unexpected configuration - check your compiler defines"
  |  | 1142|       |#  endif
  |  | 1143|       |#  if (ULONG_MAX != ACC_0xffffffffL)
  |  | 1144|       |#    error "unexpected configuration - check your compiler defines"
  |  | 1145|       |#  endif
  |  | 1146|       |#endif
  |  | 1147|       |#if (ACC_ARCH_I386)
  |  | 1148|       |#  if (UINT_MAX != ACC_0xffffL) && defined(__i386_int16__)
  |  | 1149|       |#    error "unexpected configuration - check your compiler defines"
  |  | 1150|       |#  endif
  |  | 1151|       |#  if (UINT_MAX != ACC_0xffffffffL) && !defined(__i386_int16__)
  |  | 1152|       |#    error "unexpected configuration - check your compiler defines"
  |  | 1153|       |#  endif
  |  | 1154|       |#  if (ULONG_MAX != ACC_0xffffffffL)
  |  | 1155|       |#    error "unexpected configuration - check your compiler defines"
  |  | 1156|       |#  endif
  |  | 1157|       |#endif
  |  | 1158|       |#if (ACC_ARCH_AMD64 || ACC_ARCH_I386)
  |  | 1159|       |#  if !defined(ACC_TARGET_FEATURE_SSE2)
  |  | 1160|       |#    if defined(__SSE2__)
  |  | 1161|       |#      define ACC_TARGET_FEATURE_SSE2       1
  |  | 1162|       |#    elif defined(_MSC_VER) && (defined(_M_IX86_FP) && ((_M_IX86_FP)+0 >= 2))
  |  | 1163|       |#      define ACC_TARGET_FEATURE_SSE2       1
  |  | 1164|       |#    elif (ACC_CC_INTELC_MSC || ACC_CC_MSC) && defined(_M_AMD64)
  |  | 1165|       |#      define ACC_TARGET_FEATURE_SSE2       1
  |  | 1166|       |#    endif
  |  | 1167|       |#  endif
  |  | 1168|       |#  if !defined(ACC_TARGET_FEATURE_SSSE3)
  |  | 1169|       |#  if (ACC_TARGET_FEATURE_SSE2)
  |  | 1170|       |#    if defined(__SSSE3__)
  |  | 1171|       |#      define ACC_TARGET_FEATURE_SSSE3      1
  |  | 1172|       |#    elif defined(_MSC_VER) && defined(__AVX__)
  |  | 1173|       |#      define ACC_TARGET_FEATURE_SSSE3      1
  |  | 1174|       |#    endif
  |  | 1175|       |#  endif
  |  | 1176|       |#  endif
  |  | 1177|       |#  if !defined(ACC_TARGET_FEATURE_SSE4_2)
  |  | 1178|       |#  if (ACC_TARGET_FEATURE_SSSE3)
  |  | 1179|       |#    if defined(__SSE4_2__)
  |  | 1180|       |#      define ACC_TARGET_FEATURE_SSE4_2     1
  |  | 1181|       |#    endif
  |  | 1182|       |#  endif
  |  | 1183|       |#  endif
  |  | 1184|       |#  if !defined(ACC_TARGET_FEATURE_AVX)
  |  | 1185|       |#  if (ACC_TARGET_FEATURE_SSSE3)
  |  | 1186|       |#    if defined(__AVX__)
  |  | 1187|       |#      define ACC_TARGET_FEATURE_AVX        1
  |  | 1188|       |#    endif
  |  | 1189|       |#  endif
  |  | 1190|       |#  endif
  |  | 1191|       |#  if !defined(ACC_TARGET_FEATURE_AVX2)
  |  | 1192|       |#  if (ACC_TARGET_FEATURE_AVX)
  |  | 1193|       |#    if defined(__AVX2__)
  |  | 1194|       |#      define ACC_TARGET_FEATURE_AVX2       1
  |  | 1195|       |#    endif
  |  | 1196|       |#  endif
  |  | 1197|       |#  endif
  |  | 1198|       |#endif
  |  | 1199|       |#if (ACC_TARGET_FEATURE_SSSE3 && !(ACC_TARGET_FEATURE_SSE2))
  |  | 1200|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1201|       |#endif
  |  | 1202|       |#if (ACC_TARGET_FEATURE_SSE4_2 && !(ACC_TARGET_FEATURE_SSSE3))
  |  | 1203|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1204|       |#endif
  |  | 1205|       |#if (ACC_TARGET_FEATURE_AVX && !(ACC_TARGET_FEATURE_SSSE3))
  |  | 1206|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1207|       |#endif
  |  | 1208|       |#if (ACC_TARGET_FEATURE_AVX2 && !(ACC_TARGET_FEATURE_AVX))
  |  | 1209|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1210|       |#endif
  |  | 1211|       |#if (ACC_ARCH_ARM)
  |  | 1212|       |#  if !defined(ACC_TARGET_FEATURE_NEON)
  |  | 1213|       |#    if defined(__ARM_NEON) && ((__ARM_NEON)+0)
  |  | 1214|       |#      define ACC_TARGET_FEATURE_NEON       1
  |  | 1215|       |#    elif 1 && defined(__ARM_NEON__) && ((__ARM_NEON__)+0)
  |  | 1216|       |#      define ACC_TARGET_FEATURE_NEON       1
  |  | 1217|       |#    elif 1 && defined(__TARGET_FEATURE_NEON) && ((__TARGET_FEATURE_NEON)+0)
  |  | 1218|       |#      define ACC_TARGET_FEATURE_NEON       1
  |  | 1219|       |#    endif
  |  | 1220|       |#  endif
  |  | 1221|       |#elif (ACC_ARCH_ARM64)
  |  | 1222|       |#  if !defined(ACC_TARGET_FEATURE_NEON)
  |  | 1223|       |#    if 1
  |  | 1224|       |#      define ACC_TARGET_FEATURE_NEON       1
  |  | 1225|       |#    endif
  |  | 1226|       |#  endif
  |  | 1227|       |#endif
  |  | 1228|       |#if 0
  |  | 1229|       |#elif !defined(__ACC_MM_OVERRIDE)
  |  | 1230|       |#if (ACC_ARCH_I086)
  |  | 1231|       |#if (UINT_MAX != ACC_0xffffL)
  |  | 1232|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1233|       |#endif
  |  | 1234|       |#if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM)
  |  | 1235|       |#  define ACC_MM_TINY           1
  |  | 1236|       |#elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM)
  |  | 1237|       |#  define ACC_MM_HUGE           1
  |  | 1238|       |#elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL)
  |  | 1239|       |#  define ACC_MM_SMALL          1
  |  | 1240|       |#elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM)
  |  | 1241|       |#  define ACC_MM_MEDIUM         1
  |  | 1242|       |#elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM)
  |  | 1243|       |#  define ACC_MM_COMPACT        1
  |  | 1244|       |#elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL)
  |  | 1245|       |#  define ACC_MM_LARGE          1
  |  | 1246|       |#elif (ACC_CC_AZTECC)
  |  | 1247|       |#  if defined(_LARGE_CODE) && defined(_LARGE_DATA)
  |  | 1248|       |#    define ACC_MM_LARGE        1
  |  | 1249|       |#  elif defined(_LARGE_CODE)
  |  | 1250|       |#    define ACC_MM_MEDIUM       1
  |  | 1251|       |#  elif defined(_LARGE_DATA)
  |  | 1252|       |#    define ACC_MM_COMPACT      1
  |  | 1253|       |#  else
  |  | 1254|       |#    define ACC_MM_SMALL        1
  |  | 1255|       |#  endif
  |  | 1256|       |#elif (ACC_CC_ZORTECHC && defined(__VCM__))
  |  | 1257|       |#  define ACC_MM_LARGE          1
  |  | 1258|       |#else
  |  | 1259|       |#  error "unknown ACC_ARCH_I086 memory model"
  |  | 1260|       |#endif
  |  | 1261|       |#if (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
  |  | 1262|       |#define ACC_HAVE_MM_HUGE_PTR        1
  |  | 1263|       |#define ACC_HAVE_MM_HUGE_ARRAY      1
  |  | 1264|       |#if (ACC_MM_TINY)
  |  | 1265|       |#  undef ACC_HAVE_MM_HUGE_ARRAY
  |  | 1266|       |#endif
  |  | 1267|       |#if (ACC_CC_AZTECC || ACC_CC_PACIFICC || ACC_CC_ZORTECHC)
  |  | 1268|       |#  undef ACC_HAVE_MM_HUGE_PTR
  |  | 1269|       |#  undef ACC_HAVE_MM_HUGE_ARRAY
  |  | 1270|       |#elif (ACC_CC_DMC || ACC_CC_SYMANTECC)
  |  | 1271|       |#  undef ACC_HAVE_MM_HUGE_ARRAY
  |  | 1272|       |#elif (ACC_CC_MSC && defined(_QC))
  |  | 1273|       |#  undef ACC_HAVE_MM_HUGE_ARRAY
  |  | 1274|       |#  if (_MSC_VER < 600)
  |  | 1275|       |#    undef ACC_HAVE_MM_HUGE_PTR
  |  | 1276|       |#  endif
  |  | 1277|       |#elif (ACC_CC_TURBOC && (__TURBOC__ < 0x0295))
  |  | 1278|       |#  undef ACC_HAVE_MM_HUGE_ARRAY
  |  | 1279|       |#endif
  |  | 1280|       |#if (ACC_ARCH_I086PM) && !(ACC_HAVE_MM_HUGE_PTR)
  |  | 1281|       |#  if (ACC_OS_DOS16)
  |  | 1282|       |#    error "unexpected configuration - check your compiler defines"
  |  | 1283|       |#  elif (ACC_CC_ZORTECHC)
  |  | 1284|       |#  else
  |  | 1285|       |#    error "unexpected configuration - check your compiler defines"
  |  | 1286|       |#  endif
  |  | 1287|       |#endif
  |  | 1288|       |#if defined(__cplusplus)
  |  | 1289|       |extern "C" {
  |  | 1290|       |#endif
  |  | 1291|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0200))
  |  | 1292|       |   extern void __near __cdecl _AHSHIFT(void);
  |  | 1293|       |#  define ACC_MM_AHSHIFT      ((unsigned) _AHSHIFT)
  |  | 1294|       |#elif (ACC_CC_DMC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
  |  | 1295|       |   extern void __near __cdecl _AHSHIFT(void);
  |  | 1296|       |#  define ACC_MM_AHSHIFT      ((unsigned) _AHSHIFT)
  |  | 1297|       |#elif (ACC_CC_MSC || ACC_CC_TOPSPEEDC)
  |  | 1298|       |   extern void __near __cdecl _AHSHIFT(void);
  |  | 1299|       |#  define ACC_MM_AHSHIFT      ((unsigned) _AHSHIFT)
  |  | 1300|       |#elif (ACC_CC_TURBOC && (__TURBOC__ >= 0x0295))
  |  | 1301|       |   extern void __near __cdecl _AHSHIFT(void);
  |  | 1302|       |#  define ACC_MM_AHSHIFT      ((unsigned) _AHSHIFT)
  |  | 1303|       |#elif ((ACC_CC_AZTECC || ACC_CC_PACIFICC || ACC_CC_TURBOC) && ACC_OS_DOS16)
  |  | 1304|       |#  define ACC_MM_AHSHIFT      12
  |  | 1305|       |#elif (ACC_CC_WATCOMC)
  |  | 1306|       |   extern unsigned char _HShift;
  |  | 1307|       |#  define ACC_MM_AHSHIFT      ((unsigned) _HShift)
  |  | 1308|       |#else
  |  | 1309|       |#  error "FIXME - implement ACC_MM_AHSHIFT"
  |  | 1310|       |#endif
  |  | 1311|       |#if defined(__cplusplus)
  |  | 1312|       |}
  |  | 1313|       |#endif
  |  | 1314|       |#endif
  |  | 1315|       |#elif (ACC_ARCH_C166)
  |  | 1316|       |#if !defined(__MODEL__)
  |  | 1317|       |#  error "FIXME - ACC_ARCH_C166 __MODEL__"
  |  | 1318|       |#elif ((__MODEL__) == 0)
  |  | 1319|       |#  define ACC_MM_SMALL          1
  |  | 1320|       |#elif ((__MODEL__) == 1)
  |  | 1321|       |#  define ACC_MM_SMALL          1
  |  | 1322|       |#elif ((__MODEL__) == 2)
  |  | 1323|       |#  define ACC_MM_LARGE          1
  |  | 1324|       |#elif ((__MODEL__) == 3)
  |  | 1325|       |#  define ACC_MM_TINY           1
  |  | 1326|       |#elif ((__MODEL__) == 4)
  |  | 1327|       |#  define ACC_MM_XTINY          1
  |  | 1328|       |#elif ((__MODEL__) == 5)
  |  | 1329|       |#  define ACC_MM_XSMALL         1
  |  | 1330|       |#else
  |  | 1331|       |#  error "FIXME - ACC_ARCH_C166 __MODEL__"
  |  | 1332|       |#endif
  |  | 1333|       |#elif (ACC_ARCH_MCS251)
  |  | 1334|       |#if !defined(__MODEL__)
  |  | 1335|       |#  error "FIXME - ACC_ARCH_MCS251 __MODEL__"
  |  | 1336|       |#elif ((__MODEL__) == 0)
  |  | 1337|       |#  define ACC_MM_SMALL          1
  |  | 1338|       |#elif ((__MODEL__) == 2)
  |  | 1339|       |#  define ACC_MM_LARGE          1
  |  | 1340|       |#elif ((__MODEL__) == 3)
  |  | 1341|       |#  define ACC_MM_TINY           1
  |  | 1342|       |#elif ((__MODEL__) == 4)
  |  | 1343|       |#  define ACC_MM_XTINY          1
  |  | 1344|       |#elif ((__MODEL__) == 5)
  |  | 1345|       |#  define ACC_MM_XSMALL         1
  |  | 1346|       |#else
  |  | 1347|       |#  error "FIXME - ACC_ARCH_MCS251 __MODEL__"
  |  | 1348|       |#endif
  |  | 1349|       |#elif (ACC_ARCH_MCS51)
  |  | 1350|       |#if !defined(__MODEL__)
  |  | 1351|       |#  error "FIXME - ACC_ARCH_MCS51 __MODEL__"
  |  | 1352|       |#elif ((__MODEL__) == 1)
  |  | 1353|       |#  define ACC_MM_SMALL          1
  |  | 1354|       |#elif ((__MODEL__) == 2)
  |  | 1355|       |#  define ACC_MM_LARGE          1
  |  | 1356|       |#elif ((__MODEL__) == 3)
  |  | 1357|       |#  define ACC_MM_TINY           1
  |  | 1358|       |#elif ((__MODEL__) == 4)
  |  | 1359|       |#  define ACC_MM_XTINY          1
  |  | 1360|       |#elif ((__MODEL__) == 5)
  |  | 1361|       |#  define ACC_MM_XSMALL         1
  |  | 1362|       |#else
  |  | 1363|       |#  error "FIXME - ACC_ARCH_MCS51 __MODEL__"
  |  | 1364|       |#endif
  |  | 1365|       |#elif (ACC_ARCH_CRAY_PVP)
  |  | 1366|       |#  define ACC_MM_PVP            1
  |  | 1367|       |#else
  |  | 1368|       |#  define ACC_MM_FLAT           1
  |  | 1369|       |#endif
  |  | 1370|       |#if (ACC_MM_COMPACT)
  |  | 1371|       |#  define ACC_INFO_MM           "compact"
  |  | 1372|       |#elif (ACC_MM_FLAT)
  |  | 1373|       |#  define ACC_INFO_MM           "flat"
  |  | 1374|       |#elif (ACC_MM_HUGE)
  |  | 1375|       |#  define ACC_INFO_MM           "huge"
  |  | 1376|       |#elif (ACC_MM_LARGE)
  |  | 1377|       |#  define ACC_INFO_MM           "large"
  |  | 1378|       |#elif (ACC_MM_MEDIUM)
  |  | 1379|       |#  define ACC_INFO_MM           "medium"
  |  | 1380|       |#elif (ACC_MM_PVP)
  |  | 1381|       |#  define ACC_INFO_MM           "pvp"
  |  | 1382|       |#elif (ACC_MM_SMALL)
  |  | 1383|       |#  define ACC_INFO_MM           "small"
  |  | 1384|       |#elif (ACC_MM_TINY)
  |  | 1385|       |#  define ACC_INFO_MM           "tiny"
  |  | 1386|       |#else
  |  | 1387|       |#  error "unknown memory model"
  |  | 1388|       |#endif
  |  | 1389|       |#endif
  |  | 1390|       |#if !defined(__acc_gnuc_extension__)
  |  | 1391|       |#if (ACC_CC_GNUC >= 0x020800ul)
  |  | 1392|       |#  define __acc_gnuc_extension__    __extension__
  |  | 1393|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1394|       |#  define __acc_gnuc_extension__    __extension__
  |  | 1395|       |#elif (ACC_CC_IBMC >= 600)
  |  | 1396|       |#  define __acc_gnuc_extension__    __extension__
  |  | 1397|       |#endif
  |  | 1398|       |#endif
  |  | 1399|       |#if !defined(__acc_gnuc_extension__)
  |  | 1400|       |#  define __acc_gnuc_extension__    /*empty*/
  |  | 1401|       |#endif
  |  | 1402|       |#if !defined(acc_has_builtin)
  |  | 1403|       |#if (ACC_CC_CLANG) && defined(__has_builtin)
  |  | 1404|       |#  define acc_has_builtin           __has_builtin
  |  | 1405|       |#endif
  |  | 1406|       |#endif
  |  | 1407|       |#if !defined(acc_has_builtin)
  |  | 1408|       |#  define acc_has_builtin(x)        0
  |  | 1409|       |#endif
  |  | 1410|       |#if !defined(acc_has_attribute)
  |  | 1411|       |#if (ACC_CC_CLANG) && defined(__has_attribute)
  |  | 1412|       |#  define acc_has_attribute         __has_attribute
  |  | 1413|       |#endif
  |  | 1414|       |#endif
  |  | 1415|       |#if !defined(acc_has_attribute)
  |  | 1416|       |#  define acc_has_attribute(x)      0
  |  | 1417|       |#endif
  |  | 1418|       |#if !defined(acc_has_declspec_attribute)
  |  | 1419|       |#if (ACC_CC_CLANG) && defined(__has_declspec_attribute)
  |  | 1420|       |#  define acc_has_declspec_attribute        __has_declspec_attribute
  |  | 1421|       |#endif
  |  | 1422|       |#endif
  |  | 1423|       |#if !defined(acc_has_declspec_attribute)
  |  | 1424|       |#  define acc_has_declspec_attribute(x)     0
  |  | 1425|       |#endif
  |  | 1426|       |#if !defined(acc_has_feature)
  |  | 1427|       |#if (ACC_CC_CLANG) && defined(__has_feature)
  |  | 1428|       |#  define acc_has_feature         __has_feature
  |  | 1429|       |#endif
  |  | 1430|       |#endif
  |  | 1431|       |#if !defined(acc_has_feature)
  |  | 1432|       |#  define acc_has_feature(x)        0
  |  | 1433|       |#endif
  |  | 1434|       |#if !defined(acc_has_extension)
  |  | 1435|       |#if (ACC_CC_CLANG) && defined(__has_extension)
  |  | 1436|       |#  define acc_has_extension         __has_extension
  |  | 1437|       |#elif (ACC_CC_CLANG) && defined(__has_feature)
  |  | 1438|       |#  define acc_has_extension         __has_feature
  |  | 1439|       |#endif
  |  | 1440|       |#endif
  |  | 1441|       |#if !defined(acc_has_extension)
  |  | 1442|       |#  define acc_has_extension(x)      0
  |  | 1443|       |#endif
  |  | 1444|       |#if !defined(ACC_CFG_USE_NEW_STYLE_CASTS) && defined(__cplusplus) && 0
  |  | 1445|       |#  if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul))
  |  | 1446|       |#    define ACC_CFG_USE_NEW_STYLE_CASTS 0
  |  | 1447|       |#  elif (ACC_CC_INTELC && (__INTEL_COMPILER < 1200))
  |  | 1448|       |#    define ACC_CFG_USE_NEW_STYLE_CASTS 0
  |  | 1449|       |#  else
  |  | 1450|       |#    define ACC_CFG_USE_NEW_STYLE_CASTS 1
  |  | 1451|       |#  endif
  |  | 1452|       |#endif
  |  | 1453|       |#if !defined(ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1454|       |#  define ACC_CFG_USE_NEW_STYLE_CASTS 0
  |  | 1455|       |#endif
  |  | 1456|       |#if !defined(__cplusplus)
  |  | 1457|       |#  if defined(ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1458|       |#    undef ACC_CFG_USE_NEW_STYLE_CASTS
  |  | 1459|       |#  endif
  |  | 1460|       |#  define ACC_CFG_USE_NEW_STYLE_CASTS 0
  |  | 1461|       |#endif
  |  | 1462|       |#if !defined(ACC_REINTERPRET_CAST)
  |  | 1463|       |#  if (ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1464|       |#    define ACC_REINTERPRET_CAST(t,e)       (reinterpret_cast<t> (e))
  |  | 1465|       |#  endif
  |  | 1466|       |#endif
  |  | 1467|       |#if !defined(ACC_REINTERPRET_CAST)
  |  | 1468|       |#  define ACC_REINTERPRET_CAST(t,e)         ((t) (e))
  |  | 1469|       |#endif
  |  | 1470|       |#if !defined(ACC_STATIC_CAST)
  |  | 1471|       |#  if (ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1472|       |#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  | 1473|       |#  endif
  |  | 1474|       |#endif
  |  | 1475|       |#if !defined(ACC_STATIC_CAST)
  |  | 1476|       |#  define ACC_STATIC_CAST(t,e)              ((t) (e))
  |  | 1477|       |#endif
  |  | 1478|       |#if !defined(ACC_STATIC_CAST2)
  |  | 1479|       |#  define ACC_STATIC_CAST2(t1,t2,e)         ACC_STATIC_CAST(t1, ACC_STATIC_CAST(t2, e))
  |  | 1480|       |#endif
  |  | 1481|       |#if !defined(ACC_UNCONST_CAST)
  |  | 1482|       |#  if (ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1483|       |#    define ACC_UNCONST_CAST(t,e)           (const_cast<t> (e))
  |  | 1484|       |#  elif (ACC_HAVE_MM_HUGE_PTR)
  |  | 1485|       |#    define ACC_UNCONST_CAST(t,e)           ((t) (e))
  |  | 1486|       |#  elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1487|       |#    define ACC_UNCONST_CAST(t,e)           ((t) ((void *) ((acc_uintptr_t) ((const void *) (e)))))
  |  | 1488|       |#  endif
  |  | 1489|       |#endif
  |  | 1490|       |#if !defined(ACC_UNCONST_CAST)
  |  | 1491|       |#  define ACC_UNCONST_CAST(t,e)             ((t) ((void *) ((const void *) (e))))
  |  | 1492|       |#endif
  |  | 1493|       |#if !defined(ACC_UNCONST_VOLATILE_CAST)
  |  | 1494|       |#  if (ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1495|       |#    define ACC_UNCONST_VOLATILE_CAST(t,e)  (const_cast<t> (e))
  |  | 1496|       |#  elif (ACC_HAVE_MM_HUGE_PTR)
  |  | 1497|       |#    define ACC_UNCONST_VOLATILE_CAST(t,e)  ((t) (e))
  |  | 1498|       |#  elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1499|       |#    define ACC_UNCONST_VOLATILE_CAST(t,e)  ((t) ((volatile void *) ((acc_uintptr_t) ((volatile const void *) (e)))))
  |  | 1500|       |#  endif
  |  | 1501|       |#endif
  |  | 1502|       |#if !defined(ACC_UNCONST_VOLATILE_CAST)
  |  | 1503|       |#  define ACC_UNCONST_VOLATILE_CAST(t,e)    ((t) ((volatile void *) ((volatile const void *) (e))))
  |  | 1504|       |#endif
  |  | 1505|       |#if !defined(ACC_UNVOLATILE_CAST)
  |  | 1506|       |#  if (ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1507|       |#    define ACC_UNVOLATILE_CAST(t,e)        (const_cast<t> (e))
  |  | 1508|       |#  elif (ACC_HAVE_MM_HUGE_PTR)
  |  | 1509|       |#    define ACC_UNVOLATILE_CAST(t,e)        ((t) (e))
  |  | 1510|       |#  elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1511|       |#    define ACC_UNVOLATILE_CAST(t,e)        ((t) ((void *) ((acc_uintptr_t) ((volatile void *) (e)))))
  |  | 1512|       |#  endif
  |  | 1513|       |#endif
  |  | 1514|       |#if !defined(ACC_UNVOLATILE_CAST)
  |  | 1515|       |#  define ACC_UNVOLATILE_CAST(t,e)          ((t) ((void *) ((volatile void *) (e))))
  |  | 1516|       |#endif
  |  | 1517|       |#if !defined(ACC_UNVOLATILE_CONST_CAST)
  |  | 1518|       |#  if (ACC_CFG_USE_NEW_STYLE_CASTS)
  |  | 1519|       |#    define ACC_UNVOLATILE_CONST_CAST(t,e)  (const_cast<t> (e))
  |  | 1520|       |#  elif (ACC_HAVE_MM_HUGE_PTR)
  |  | 1521|       |#    define ACC_UNVOLATILE_CONST_CAST(t,e)  ((t) (e))
  |  | 1522|       |#  elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1523|       |#    define ACC_UNVOLATILE_CONST_CAST(t,e)  ((t) ((const void *) ((acc_uintptr_t) ((volatile const void *) (e)))))
  |  | 1524|       |#  endif
  |  | 1525|       |#endif
  |  | 1526|       |#if !defined(ACC_UNVOLATILE_CONST_CAST)
  |  | 1527|       |#  define ACC_UNVOLATILE_CONST_CAST(t,e)    ((t) ((const void *) ((volatile const void *) (e))))
  |  | 1528|       |#endif
  |  | 1529|       |#if !defined(ACC_PCAST)
  |  | 1530|       |#  if (ACC_HAVE_MM_HUGE_PTR)
  |  | 1531|       |#    define ACC_PCAST(t,e)                  ((t) (e))
  |  | 1532|       |#  endif
  |  | 1533|       |#endif
  |  | 1534|       |#if !defined(ACC_PCAST)
  |  | 1535|       |#  define ACC_PCAST(t,e)                    ACC_STATIC_CAST(t, ACC_STATIC_CAST(void *, e))
  |  | 1536|       |#endif
  |  | 1537|       |#if !defined(ACC_CCAST)
  |  | 1538|       |#  if (ACC_HAVE_MM_HUGE_PTR)
  |  | 1539|       |#    define ACC_CCAST(t,e)                  ((t) (e))
  |  | 1540|       |#  endif
  |  | 1541|       |#endif
  |  | 1542|       |#if !defined(ACC_CCAST)
  |  | 1543|       |#  define ACC_CCAST(t,e)                    ACC_STATIC_CAST(t, ACC_STATIC_CAST(const void *, e))
  |  | 1544|       |#endif
  |  | 1545|       |#if !defined(ACC_ICONV)
  |  | 1546|       |#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  | 1547|       |#endif
  |  | 1548|       |#if !defined(ACC_ICAST)
  |  | 1549|       |#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  | 1550|       |#endif
  |  | 1551|       |#if !defined(ACC_ITRUNC)
  |  | 1552|       |#  define ACC_ITRUNC(t,e)                   ACC_STATIC_CAST(t, e)
  |  | 1553|       |#endif
  |  | 1554|       |#if !defined(__acc_cte)
  |  | 1555|       |#  if (ACC_CC_MSC || ACC_CC_WATCOMC)
  |  | 1556|       |#    define __acc_cte(e)            ((void)0,(e))
  |  | 1557|       |#  elif 1
  |  | 1558|       |#    define __acc_cte(e)            ((void)0,(e))
  |  | 1559|       |#  endif
  |  | 1560|       |#endif
  |  | 1561|       |#if !defined(__acc_cte)
  |  | 1562|       |#  define __acc_cte(e)              (e)
  |  | 1563|       |#endif
  |  | 1564|       |#if !defined(ACC_BLOCK_BEGIN)
  |  | 1565|       |#  define ACC_BLOCK_BEGIN           do {
  |  | 1566|       |#  define ACC_BLOCK_END             } while (__acc_cte(0))
  |  | 1567|       |#endif
  |  | 1568|       |#if !defined(ACC_UNUSED)
  |  | 1569|       |#  if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
  |  | 1570|       |#    define ACC_UNUSED(var)         ((void) &var)
  |  | 1571|       |#  elif (ACC_CC_BORLANDC || ACC_CC_HIGHC || ACC_CC_NDPC || ACC_CC_PELLESC || ACC_CC_TURBOC)
  |  | 1572|       |#    define ACC_UNUSED(var)         if (&var) ; else
  |  | 1573|       |#  elif (ACC_CC_CLANG && (ACC_CC_CLANG >= 0x030200ul))
  |  | 1574|       |#    define ACC_UNUSED(var)         ((void) &var)
  |  | 1575|       |#  elif (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1576|       |#    define ACC_UNUSED(var)         ((void) var)
  |  | 1577|       |#  elif (ACC_CC_MSC && (_MSC_VER < 900))
  |  | 1578|       |#    define ACC_UNUSED(var)         if (&var) ; else
  |  | 1579|       |#  elif (ACC_CC_KEILC)
  |  | 1580|       |#    define ACC_UNUSED(var)         {extern int acc_unused__[1-2*!(sizeof(var)>0)]; (void)acc_unused__;}
  |  | 1581|       |#  elif (ACC_CC_PACIFICC)
  |  | 1582|       |#    define ACC_UNUSED(var)         ((void) sizeof(var))
  |  | 1583|       |#  elif (ACC_CC_WATCOMC) && defined(__cplusplus)
  |  | 1584|       |#    define ACC_UNUSED(var)         ((void) var)
  |  | 1585|       |#  else
  |  | 1586|       |#    define ACC_UNUSED(var)         ((void) &var)
  |  | 1587|       |#  endif
  |  | 1588|       |#endif
  |  | 1589|       |#if !defined(ACC_UNUSED_RESULT)
  |  | 1590|       |#  define ACC_UNUSED_RESULT(var)    ACC_UNUSED(var)
  |  | 1591|       |#endif
  |  | 1592|       |#if !defined(ACC_UNUSED_FUNC)
  |  | 1593|       |#  if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
  |  | 1594|       |#    define ACC_UNUSED_FUNC(func)   ((void) func)
  |  | 1595|       |#  elif (ACC_CC_BORLANDC || ACC_CC_NDPC || ACC_CC_TURBOC)
  |  | 1596|       |#    define ACC_UNUSED_FUNC(func)   if (func) ; else
  |  | 1597|       |#  elif (ACC_CC_CLANG || ACC_CC_LLVM)
  |  | 1598|       |#    define ACC_UNUSED_FUNC(func)   ((void) &func)
  |  | 1599|       |#  elif (ACC_CC_MSC && (_MSC_VER < 900))
  |  | 1600|       |#    define ACC_UNUSED_FUNC(func)   if (func) ; else
  |  | 1601|       |#  elif (ACC_CC_MSC)
  |  | 1602|       |#    define ACC_UNUSED_FUNC(func)   ((void) &func)
  |  | 1603|       |#  elif (ACC_CC_KEILC || ACC_CC_PELLESC)
  |  | 1604|       |#    define ACC_UNUSED_FUNC(func)   {extern int acc_unused__[1-2*!(sizeof((int)func)>0)]; (void)acc_unused__;}
  |  | 1605|       |#  else
  |  | 1606|       |#    define ACC_UNUSED_FUNC(func)   ((void) func)
  |  | 1607|       |#  endif
  |  | 1608|       |#endif
  |  | 1609|       |#if !defined(ACC_UNUSED_LABEL)
  |  | 1610|       |#  if (ACC_CC_CLANG >= 0x020800ul)
  |  | 1611|       |#    define ACC_UNUSED_LABEL(l)     (__acc_gnuc_extension__ ((void) ACC_STATIC_CAST(const void *, &&l)))
  |  | 1612|       |#  elif (ACC_CC_ARMCC || ACC_CC_CLANG || ACC_CC_INTELC || ACC_CC_WATCOMC)
  |  | 1613|       |#    define ACC_UNUSED_LABEL(l)     if (__acc_cte(0)) goto l
  |  | 1614|       |#  else
  |  | 1615|       |#    define ACC_UNUSED_LABEL(l)     switch (0) case 1:goto l
  |  | 1616|       |#  endif
  |  | 1617|       |#endif
  |  | 1618|       |#if !defined(ACC_DEFINE_UNINITIALIZED_VAR)
  |  | 1619|       |#  if 0
  |  | 1620|       |#    define ACC_DEFINE_UNINITIALIZED_VAR(type,var,init)  type var
  |  | 1621|       |#  elif 0 && (ACC_CC_GNUC)
  |  | 1622|       |#    define ACC_DEFINE_UNINITIALIZED_VAR(type,var,init)  type var = var
  |  | 1623|       |#  else
  |  | 1624|       |#    define ACC_DEFINE_UNINITIALIZED_VAR(type,var,init)  type var = init
  |  | 1625|       |#  endif
  |  | 1626|       |#endif
  |  | 1627|       |#if !defined(__acc_inline)
  |  | 1628|       |#if (ACC_CC_TURBOC && (__TURBOC__ <= 0x0295))
  |  | 1629|       |#elif defined(__cplusplus)
  |  | 1630|       |#  define __acc_inline          inline
  |  | 1631|       |#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L)
  |  | 1632|       |#  define __acc_inline          inline
  |  | 1633|       |#elif (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0550))
  |  | 1634|       |#  define __acc_inline          __inline
  |  | 1635|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CILLY || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE || ACC_CC_PGI)
  |  | 1636|       |#  define __acc_inline          __inline__
  |  | 1637|       |#elif (ACC_CC_DMC)
  |  | 1638|       |#  define __acc_inline          __inline
  |  | 1639|       |#elif (ACC_CC_GHS)
  |  | 1640|       |#  define __acc_inline          __inline__
  |  | 1641|       |#elif (ACC_CC_IBMC >= 600)
  |  | 1642|       |#  define __acc_inline          __inline__
  |  | 1643|       |#elif (ACC_CC_INTELC)
  |  | 1644|       |#  define __acc_inline          __inline
  |  | 1645|       |#elif (ACC_CC_MWERKS && (__MWERKS__ >= 0x2405))
  |  | 1646|       |#  define __acc_inline          __inline
  |  | 1647|       |#elif (ACC_CC_MSC && (_MSC_VER >= 900))
  |  | 1648|       |#  define __acc_inline          __inline
  |  | 1649|       |#elif (ACC_CC_SUNPROC >= 0x5100)
  |  | 1650|       |#  define __acc_inline          __inline__
  |  | 1651|       |#endif
  |  | 1652|       |#endif
  |  | 1653|       |#if defined(__acc_inline)
  |  | 1654|       |#  ifndef __acc_HAVE_inline
  |  | 1655|       |#  define __acc_HAVE_inline 1
  |  | 1656|       |#  endif
  |  | 1657|       |#else
  |  | 1658|       |#  define __acc_inline          /*empty*/
  |  | 1659|       |#endif
  |  | 1660|       |#if !defined(__acc_forceinline)
  |  | 1661|       |#if (ACC_CC_GNUC >= 0x030200ul)
  |  | 1662|       |#  define __acc_forceinline     __inline__ __attribute__((__always_inline__))
  |  | 1663|       |#elif (ACC_CC_IBMC >= 700)
  |  | 1664|       |#  define __acc_forceinline     __inline__ __attribute__((__always_inline__))
  |  | 1665|       |#elif (ACC_CC_INTELC_MSC && (__INTEL_COMPILER >= 450))
  |  | 1666|       |#  define __acc_forceinline     __forceinline
  |  | 1667|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
  |  | 1668|       |#  define __acc_forceinline     __inline__ __attribute__((__always_inline__))
  |  | 1669|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1670|       |#  define __acc_forceinline     __inline__ __attribute__((__always_inline__))
  |  | 1671|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1200))
  |  | 1672|       |#  define __acc_forceinline     __forceinline
  |  | 1673|       |#elif (ACC_CC_PGI >= 0x0d0a00ul)
  |  | 1674|       |#  define __acc_forceinline     __inline__ __attribute__((__always_inline__))
  |  | 1675|       |#elif (ACC_CC_SUNPROC >= 0x5100)
  |  | 1676|       |#  define __acc_forceinline     __inline__ __attribute__((__always_inline__))
  |  | 1677|       |#endif
  |  | 1678|       |#endif
  |  | 1679|       |#if defined(__acc_forceinline)
  |  | 1680|       |#  ifndef __acc_HAVE_forceinline
  |  | 1681|       |#  define __acc_HAVE_forceinline 1
  |  | 1682|       |#  endif
  |  | 1683|       |#else
  |  | 1684|       |#  define __acc_forceinline     __acc_inline
  |  | 1685|       |#endif
  |  | 1686|       |#if !defined(__acc_noinline)
  |  | 1687|       |#if (ACC_CC_GNUC >= 0x080000ul)
  |  | 1688|       |#  define __acc_noinline        __attribute__((__noinline__,__noipa__))
  |  | 1689|       |#elif (ACC_CC_GNUC >= 0x050000ul)
  |  | 1690|       |#  define __acc_noinline        __attribute__((__noinline__,__noclone__,__no_icf__))
  |  | 1691|       |#elif 1 && (ACC_ARCH_I386) && (ACC_CC_GNUC >= 0x040000ul) && (ACC_CC_GNUC < 0x040003ul)
  |  | 1692|       |#  define __acc_noinline        __attribute__((__noinline__,__used__))
  |  | 1693|       |#elif (ACC_CC_GNUC >= 0x030200ul)
  |  | 1694|       |#  define __acc_noinline        __attribute__((__noinline__))
  |  | 1695|       |#elif (ACC_CC_IBMC >= 700)
  |  | 1696|       |#  define __acc_noinline        __attribute__((__noinline__))
  |  | 1697|       |#elif (ACC_CC_INTELC_MSC && (__INTEL_COMPILER >= 600))
  |  | 1698|       |#  define __acc_noinline        __declspec(noinline)
  |  | 1699|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
  |  | 1700|       |#  define __acc_noinline        __attribute__((__noinline__))
  |  | 1701|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1702|       |#  define __acc_noinline        __attribute__((__noinline__))
  |  | 1703|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1300))
  |  | 1704|       |#  define __acc_noinline        __declspec(noinline)
  |  | 1705|       |#elif (ACC_CC_MWERKS && (__MWERKS__ >= 0x3200) && (ACC_OS_WIN32 || ACC_OS_WIN64))
  |  | 1706|       |#  if defined(__cplusplus)
  |  | 1707|       |#  else
  |  | 1708|       |#    define __acc_noinline      __declspec(noinline)
  |  | 1709|       |#  endif
  |  | 1710|       |#elif (ACC_CC_PGI >= 0x0d0a00ul)
  |  | 1711|       |#  define __acc_noinline        __attribute__((__noinline__))
  |  | 1712|       |#elif (ACC_CC_SUNPROC >= 0x5100)
  |  | 1713|       |#  define __acc_noinline        __attribute__((__noinline__))
  |  | 1714|       |#endif
  |  | 1715|       |#endif
  |  | 1716|       |#if defined(__acc_noinline)
  |  | 1717|       |#  ifndef __acc_HAVE_noinline
  |  | 1718|       |#  define __acc_HAVE_noinline 1
  |  | 1719|       |#  endif
  |  | 1720|       |#else
  |  | 1721|       |#  define __acc_noinline        /*empty*/
  |  | 1722|       |#endif
  |  | 1723|       |#if (__acc_HAVE_forceinline || __acc_HAVE_noinline) && !(__acc_HAVE_inline)
  |  | 1724|       |#  error "unexpected configuration - check your compiler defines"
  |  | 1725|       |#endif
  |  | 1726|       |#if !defined(__acc_static_inline)
  |  | 1727|       |#if (ACC_CC_IBMC)
  |  | 1728|       |#  define __acc_static_inline       __acc_gnuc_extension__ static __acc_inline
  |  | 1729|       |#endif
  |  | 1730|       |#endif
  |  | 1731|       |#if !defined(__acc_static_inline)
  |  | 1732|       |#  define __acc_static_inline       static __acc_inline
  |  | 1733|       |#endif
  |  | 1734|       |#if !defined(__acc_static_forceinline)
  |  | 1735|       |#if (ACC_CC_IBMC)
  |  | 1736|       |#  define __acc_static_forceinline  __acc_gnuc_extension__ static __acc_forceinline
  |  | 1737|       |#endif
  |  | 1738|       |#endif
  |  | 1739|       |#if !defined(__acc_static_forceinline)
  |  | 1740|       |#  define __acc_static_forceinline  static __acc_forceinline
  |  | 1741|       |#endif
  |  | 1742|       |#if !defined(__acc_static_noinline)
  |  | 1743|       |#if (ACC_CC_IBMC)
  |  | 1744|       |#  define __acc_static_noinline     __acc_gnuc_extension__ static __acc_noinline
  |  | 1745|       |#endif
  |  | 1746|       |#endif
  |  | 1747|       |#if !defined(__acc_static_noinline)
  |  | 1748|       |#  define __acc_static_noinline     static __acc_noinline
  |  | 1749|       |#endif
  |  | 1750|       |#if !defined(__acc_c99_extern_inline)
  |  | 1751|       |#if defined(__GNUC_GNU_INLINE__)
  |  | 1752|       |#  define __acc_c99_extern_inline   __acc_inline
  |  | 1753|       |#elif defined(__GNUC_STDC_INLINE__)
  |  | 1754|       |#  define __acc_c99_extern_inline   extern __acc_inline
  |  | 1755|       |#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L)
  |  | 1756|       |#  define __acc_c99_extern_inline   extern __acc_inline
  |  | 1757|       |#endif
  |  | 1758|       |#if !defined(__acc_c99_extern_inline) && (__acc_HAVE_inline)
  |  | 1759|       |#  define __acc_c99_extern_inline   __acc_inline
  |  | 1760|       |#endif
  |  | 1761|       |#endif
  |  | 1762|       |#if defined(__acc_c99_extern_inline)
  |  | 1763|       |#  ifndef __acc_HAVE_c99_extern_inline
  |  | 1764|       |#  define __acc_HAVE_c99_extern_inline 1
  |  | 1765|       |#  endif
  |  | 1766|       |#else
  |  | 1767|       |#  define __acc_c99_extern_inline   /*empty*/
  |  | 1768|       |#endif
  |  | 1769|       |#if !defined(__acc_may_alias)
  |  | 1770|       |#if (ACC_CC_GNUC >= 0x030400ul)
  |  | 1771|       |#  define __acc_may_alias       __attribute__((__may_alias__))
  |  | 1772|       |#elif (ACC_CC_CLANG >= 0x020900ul)
  |  | 1773|       |#  define __acc_may_alias       __attribute__((__may_alias__))
  |  | 1774|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1210)) && 0
  |  | 1775|       |#  define __acc_may_alias       __attribute__((__may_alias__))
  |  | 1776|       |#elif (ACC_CC_PGI >= 0x0d0a00ul) && 0
  |  | 1777|       |#  define __acc_may_alias       __attribute__((__may_alias__))
  |  | 1778|       |#endif
  |  | 1779|       |#endif
  |  | 1780|       |#if defined(__acc_may_alias)
  |  | 1781|       |#  ifndef __acc_HAVE_may_alias
  |  | 1782|       |#  define __acc_HAVE_may_alias 1
  |  | 1783|       |#  endif
  |  | 1784|       |#else
  |  | 1785|       |#  define __acc_may_alias       /*empty*/
  |  | 1786|       |#endif
  |  | 1787|       |#if !defined(__acc_noreturn)
  |  | 1788|       |#if (ACC_CC_GNUC >= 0x020700ul)
  |  | 1789|       |#  define __acc_noreturn        __attribute__((__noreturn__))
  |  | 1790|       |#elif (ACC_CC_IBMC >= 700)
  |  | 1791|       |#  define __acc_noreturn        __attribute__((__noreturn__))
  |  | 1792|       |#elif (ACC_CC_INTELC_MSC && (__INTEL_COMPILER >= 450))
  |  | 1793|       |#  define __acc_noreturn        __declspec(noreturn)
  |  | 1794|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600))
  |  | 1795|       |#  define __acc_noreturn        __attribute__((__noreturn__))
  |  | 1796|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1797|       |#  define __acc_noreturn        __attribute__((__noreturn__))
  |  | 1798|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1200))
  |  | 1799|       |#  define __acc_noreturn        __declspec(noreturn)
  |  | 1800|       |#elif (ACC_CC_PGI >= 0x0d0a00ul)
  |  | 1801|       |#  define __acc_noreturn        __attribute__((__noreturn__))
  |  | 1802|       |#endif
  |  | 1803|       |#endif
  |  | 1804|       |#if defined(__acc_noreturn)
  |  | 1805|       |#  ifndef __acc_HAVE_noreturn
  |  | 1806|       |#  define __acc_HAVE_noreturn 1
  |  | 1807|       |#  endif
  |  | 1808|       |#else
  |  | 1809|       |#  define __acc_noreturn        /*empty*/
  |  | 1810|       |#endif
  |  | 1811|       |#if !defined(__acc_nothrow)
  |  | 1812|       |#if (ACC_CC_GNUC >= 0x030300ul)
  |  | 1813|       |#  define __acc_nothrow         __attribute__((__nothrow__))
  |  | 1814|       |#elif (ACC_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) && defined(__cplusplus)
  |  | 1815|       |#  define __acc_nothrow         __declspec(nothrow)
  |  | 1816|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 900))
  |  | 1817|       |#  define __acc_nothrow         __attribute__((__nothrow__))
  |  | 1818|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1819|       |#  define __acc_nothrow         __attribute__((__nothrow__))
  |  | 1820|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus)
  |  | 1821|       |#  define __acc_nothrow         __declspec(nothrow)
  |  | 1822|       |#endif
  |  | 1823|       |#endif
  |  | 1824|       |#if defined(__acc_nothrow)
  |  | 1825|       |#  ifndef __acc_HAVE_nothrow
  |  | 1826|       |#  define __acc_HAVE_nothrow 1
  |  | 1827|       |#  endif
  |  | 1828|       |#else
  |  | 1829|       |#  define __acc_nothrow         /*empty*/
  |  | 1830|       |#endif
  |  | 1831|       |#if !defined(__acc_restrict)
  |  | 1832|       |#if (ACC_CC_GNUC >= 0x030400ul)
  |  | 1833|       |#  define __acc_restrict        __restrict__
  |  | 1834|       |#elif (ACC_CC_IBMC >= 800) && !defined(__cplusplus)
  |  | 1835|       |#  define __acc_restrict        __restrict__
  |  | 1836|       |#elif (ACC_CC_IBMC >= 1210)
  |  | 1837|       |#  define __acc_restrict        __restrict__
  |  | 1838|       |#elif (ACC_CC_INTELC_MSC && (__INTEL_COMPILER >= 600))
  |  | 1839|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600))
  |  | 1840|       |#  define __acc_restrict        __restrict__
  |  | 1841|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM)
  |  | 1842|       |#  define __acc_restrict        __restrict__
  |  | 1843|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1400))
  |  | 1844|       |#  define __acc_restrict        __restrict
  |  | 1845|       |#elif (ACC_CC_PGI >= 0x0d0a00ul)
  |  | 1846|       |#  define __acc_restrict        __restrict__
  |  | 1847|       |#endif
  |  | 1848|       |#endif
  |  | 1849|       |#if defined(__acc_restrict)
  |  | 1850|       |#  ifndef __acc_HAVE_restrict
  |  | 1851|       |#  define __acc_HAVE_restrict 1
  |  | 1852|       |#  endif
  |  | 1853|       |#else
  |  | 1854|       |#  define __acc_restrict        /*empty*/
  |  | 1855|       |#endif
  |  | 1856|       |#if !defined(__acc_alignof)
  |  | 1857|       |#if (ACC_CC_ARMCC || ACC_CC_CILLY || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE || ACC_CC_PGI)
  |  | 1858|       |#  define __acc_alignof(e)      __alignof__(e)
  |  | 1859|       |#elif (ACC_CC_GHS) && !defined(__cplusplus)
  |  | 1860|       |#  define __acc_alignof(e)      __alignof__(e)
  |  | 1861|       |#elif (ACC_CC_IBMC >= 600)
  |  | 1862|       |#  define __acc_alignof(e)      (__acc_gnuc_extension__ __alignof__(e))
  |  | 1863|       |#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 700))
  |  | 1864|       |#  define __acc_alignof(e)      __alignof__(e)
  |  | 1865|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1300))
  |  | 1866|       |#  define __acc_alignof(e)      __alignof(e)
  |  | 1867|       |#elif (ACC_CC_SUNPROC >= 0x5100)
  |  | 1868|       |#  define __acc_alignof(e)      __alignof__(e)
  |  | 1869|       |#endif
  |  | 1870|       |#endif
  |  | 1871|       |#if defined(__acc_alignof)
  |  | 1872|       |#  ifndef __acc_HAVE_alignof
  |  | 1873|       |#  define __acc_HAVE_alignof 1
  |  | 1874|       |#  endif
  |  | 1875|       |#endif
  |  | 1876|       |#if !defined(__acc_struct_packed)
  |  | 1877|       |#if   (ACC_CC_CLANG && (ACC_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
  |  | 1878|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020700ul))
  |  | 1879|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
  |  | 1880|       |#elif (ACC_CC_PCC && (ACC_CC_PCC < 0x010100ul))
  |  | 1881|       |#elif (ACC_CC_SUNPROC && (ACC_CC_SUNPROC < 0x5110)) && !defined(__cplusplus)
  |  | 1882|       |#elif (ACC_CC_GNUC >= 0x030400ul) && !(ACC_CC_PCC_GNUC) && (ACC_ARCH_AMD64 || ACC_ARCH_I386)
  |  | 1883|       |#  define __acc_struct_packed(s)        struct s {
  |  | 1884|       |#  define __acc_struct_packed_end()     } __attribute__((__gcc_struct__,__packed__));
  |  | 1885|       |#  define __acc_struct_packed_ma_end()  } __acc_may_alias __attribute__((__gcc_struct__,__packed__));
  |  | 1886|       |#elif (ACC_CC_ARMCC || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_INTELC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE || (ACC_CC_PGI >= 0x0d0a00ul) || (ACC_CC_SUNPROC >= 0x5100))
  |  | 1887|       |#  define __acc_struct_packed(s)        struct s {
  |  | 1888|       |#  define __acc_struct_packed_end()     } __attribute__((__packed__));
  |  | 1889|       |#  define __acc_struct_packed_ma_end()  } __acc_may_alias __attribute__((__packed__));
  |  | 1890|       |#elif (ACC_CC_IBMC >= 700)
  |  | 1891|       |#  define __acc_struct_packed(s)        __acc_gnuc_extension__ struct s {
  |  | 1892|       |#  define __acc_struct_packed_end()     } __attribute__((__packed__));
  |  | 1893|       |#  define __acc_struct_packed_ma_end()  } __acc_may_alias __attribute__((__packed__));
  |  | 1894|       |#elif (ACC_CC_INTELC_MSC) || (ACC_CC_MSC && (_MSC_VER >= 1300))
  |  | 1895|       |#  define __acc_struct_packed(s)        __pragma(pack(push,1)) struct s {
  |  | 1896|       |#  define __acc_struct_packed_end()     } __pragma(pack(pop));
  |  | 1897|       |#elif (ACC_CC_WATCOMC && (__WATCOMC__ >= 900))
  |  | 1898|       |#  define __acc_struct_packed(s)        _Packed struct s {
  |  | 1899|       |#  define __acc_struct_packed_end()     };
  |  | 1900|       |#endif
  |  | 1901|       |#endif
  |  | 1902|       |#if defined(__acc_struct_packed) && !defined(__acc_struct_packed_ma)
  |  | 1903|       |#  define __acc_struct_packed_ma(s)     __acc_struct_packed(s)
  |  | 1904|       |#endif
  |  | 1905|       |#if defined(__acc_struct_packed_end) && !defined(__acc_struct_packed_ma_end)
  |  | 1906|       |#  define __acc_struct_packed_ma_end()  __acc_struct_packed_end()
  |  | 1907|       |#endif
  |  | 1908|       |#if !defined(__acc_byte_struct)
  |  | 1909|       |#if defined(__acc_struct_packed)
  |  | 1910|       |#  define __acc_byte_struct(s,n)        __acc_struct_packed(s) unsigned char a[n]; __acc_struct_packed_end()
  |  | 1911|       |#  define __acc_byte_struct_ma(s,n)     __acc_struct_packed_ma(s) unsigned char a[n]; __acc_struct_packed_ma_end()
  |  | 1912|       |#elif (ACC_CC_CILLY || ACC_CC_CLANG || ACC_CC_PGI || (ACC_CC_SUNPROC >= 0x5100))
  |  | 1913|       |#  define __acc_byte_struct(s,n)        struct s { unsigned char a[n]; } __attribute__((__packed__));
  |  | 1914|       |#  define __acc_byte_struct_ma(s,n)     struct s { unsigned char a[n]; } __acc_may_alias __attribute__((__packed__));
  |  | 1915|       |#endif
  |  | 1916|       |#endif
  |  | 1917|       |#if defined(__acc_byte_struct) &&  !defined(__acc_byte_struct_ma)
  |  | 1918|       |#  define __acc_byte_struct_ma(s,n)     __acc_byte_struct(s,n)
  |  | 1919|       |#endif
  |  | 1920|       |#if !defined(__acc_struct_align16) && (__acc_HAVE_alignof)
  |  | 1921|       |#if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x030000ul))
  |  | 1922|       |#elif (ACC_CC_CLANG && (ACC_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
  |  | 1923|       |#elif (ACC_CC_CILLY || ACC_CC_PCC)
  |  | 1924|       |#elif (ACC_CC_INTELC_MSC) || (ACC_CC_MSC && (_MSC_VER >= 1300))
  |  | 1925|       |#  define __acc_struct_align16(s)       struct __declspec(align(16)) s {
  |  | 1926|       |#  define __acc_struct_align16_end()    };
  |  | 1927|       |#  define __acc_struct_align32(s)       struct __declspec(align(32)) s {
  |  | 1928|       |#  define __acc_struct_align32_end()    };
  |  | 1929|       |#  define __acc_struct_align64(s)       struct __declspec(align(64)) s {
  |  | 1930|       |#  define __acc_struct_align64_end()    };
  |  | 1931|       |#elif (ACC_CC_ARMCC || ACC_CC_CLANG || ACC_CC_GNUC || (ACC_CC_IBMC >= 700) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1932|       |#  define __acc_struct_align16(s)       struct s {
  |  | 1933|       |#  define __acc_struct_align16_end()    } __attribute__((__aligned__(16)));
  |  | 1934|       |#  define __acc_struct_align32(s)       struct s {
  |  | 1935|       |#  define __acc_struct_align32_end()    } __attribute__((__aligned__(32)));
  |  | 1936|       |#  define __acc_struct_align64(s)       struct s {
  |  | 1937|       |#  define __acc_struct_align64_end()    } __attribute__((__aligned__(64)));
  |  | 1938|       |#endif
  |  | 1939|       |#endif
  |  | 1940|       |#if !defined(__acc_union_um)
  |  | 1941|       |#if   (ACC_CC_CLANG && (ACC_CC_CLANG < 0x020800ul)) && defined(__cplusplus)
  |  | 1942|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020700ul))
  |  | 1943|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
  |  | 1944|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER < 810))
  |  | 1945|       |#elif (ACC_CC_PCC && (ACC_CC_PCC < 0x010100ul))
  |  | 1946|       |#elif (ACC_CC_SUNPROC && (ACC_CC_SUNPROC < 0x5110)) && !defined(__cplusplus)
  |  | 1947|       |#elif (ACC_CC_ARMCC || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_INTELC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE || (ACC_CC_PGI >= 0x0d0a00ul) || (ACC_CC_SUNPROC >= 0x5100))
  |  | 1948|       |#  define __acc_union_am(s)             union s {
  |  | 1949|       |#  define __acc_union_am_end()          } __acc_may_alias;
  |  | 1950|       |#  define __acc_union_um(s)             union s {
  |  | 1951|       |#  define __acc_union_um_end()          } __acc_may_alias __attribute__((__packed__));
  |  | 1952|       |#elif (ACC_CC_IBMC >= 700)
  |  | 1953|       |#  define __acc_union_am(s)             __acc_gnuc_extension__ union s {
  |  | 1954|       |#  define __acc_union_am_end()          } __acc_may_alias;
  |  | 1955|       |#  define __acc_union_um(s)             __acc_gnuc_extension__ union s {
  |  | 1956|       |#  define __acc_union_um_end()          } __acc_may_alias __attribute__((__packed__));
  |  | 1957|       |#elif (ACC_CC_INTELC_MSC) || (ACC_CC_MSC && (_MSC_VER >= 1300))
  |  | 1958|       |#  define __acc_union_um(s)             __pragma(pack(push,1)) union s {
  |  | 1959|       |#  define __acc_union_um_end()          } __pragma(pack(pop));
  |  | 1960|       |#elif (ACC_CC_WATCOMC && (__WATCOMC__ >= 900))
  |  | 1961|       |#  define __acc_union_um(s)             _Packed union s {
  |  | 1962|       |#  define __acc_union_um_end()          };
  |  | 1963|       |#endif
  |  | 1964|       |#endif
  |  | 1965|       |#if !defined(__acc_union_am)
  |  | 1966|       |#  define __acc_union_am(s)             union s {
  |  | 1967|       |#  define __acc_union_am_end()          };
  |  | 1968|       |#endif
  |  | 1969|       |#if !defined(__acc_constructor)
  |  | 1970|       |#if (ACC_CC_GNUC >= 0x030400ul)
  |  | 1971|       |#  define __acc_constructor     __attribute__((__constructor__,__used__))
  |  | 1972|       |#elif (ACC_CC_GNUC >= 0x020700ul)
  |  | 1973|       |#  define __acc_constructor     __attribute__((__constructor__))
  |  | 1974|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
  |  | 1975|       |#  define __acc_constructor     __attribute__((__constructor__,__used__))
  |  | 1976|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1977|       |#  define __acc_constructor     __attribute__((__constructor__))
  |  | 1978|       |#endif
  |  | 1979|       |#endif
  |  | 1980|       |#if defined(__acc_constructor)
  |  | 1981|       |#  ifndef __acc_HAVE_constructor
  |  | 1982|       |#  define __acc_HAVE_constructor 1
  |  | 1983|       |#  endif
  |  | 1984|       |#endif
  |  | 1985|       |#if !defined(__acc_destructor)
  |  | 1986|       |#if (ACC_CC_GNUC >= 0x030400ul)
  |  | 1987|       |#  define __acc_destructor      __attribute__((__destructor__,__used__))
  |  | 1988|       |#elif (ACC_CC_GNUC >= 0x020700ul)
  |  | 1989|       |#  define __acc_destructor      __attribute__((__destructor__))
  |  | 1990|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800))
  |  | 1991|       |#  define __acc_destructor      __attribute__((__destructor__,__used__))
  |  | 1992|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 1993|       |#  define __acc_destructor      __attribute__((__destructor__))
  |  | 1994|       |#endif
  |  | 1995|       |#endif
  |  | 1996|       |#if defined(__acc_destructor)
  |  | 1997|       |#  ifndef __acc_HAVE_destructor
  |  | 1998|       |#  define __acc_HAVE_destructor 1
  |  | 1999|       |#  endif
  |  | 2000|       |#endif
  |  | 2001|       |#if (__acc_HAVE_destructor) && !(__acc_HAVE_constructor)
  |  | 2002|       |#  error "unexpected configuration - check your compiler defines"
  |  | 2003|       |#endif
  |  | 2004|       |#if !defined(__acc_likely) && !defined(__acc_unlikely)
  |  | 2005|       |#if (ACC_CC_GNUC >= 0x030200ul)
  |  | 2006|       |#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  | 2007|       |#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  | 2008|       |#elif (ACC_CC_IBMC >= 1010)
  |  | 2009|       |#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  | 2010|       |#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  | 2011|       |#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 800))
  |  | 2012|       |#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  | 2013|       |#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  | 2014|       |#elif (ACC_CC_CLANG && ACC_CC_CLANG_C2)
  |  | 2015|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 2016|       |#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  | 2017|       |#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  | 2018|       |#endif
  |  | 2019|       |#endif
  |  | 2020|       |#if defined(__acc_likely)
  |  | 2021|       |#  ifndef __acc_HAVE_likely
  |  | 2022|       |#  define __acc_HAVE_likely 1
  |  | 2023|       |#  endif
  |  | 2024|       |#else
  |  | 2025|       |#  define __acc_likely(e)           (e)
  |  | 2026|       |#endif
  |  | 2027|       |#if defined(__acc_very_likely)
  |  | 2028|       |#  ifndef __acc_HAVE_very_likely
  |  | 2029|       |#  define __acc_HAVE_very_likely 1
  |  | 2030|       |#  endif
  |  | 2031|       |#else
  |  | 2032|       |#  define __acc_very_likely(e)      __acc_likely(e)
  |  | 2033|       |#endif
  |  | 2034|       |#if defined(__acc_unlikely)
  |  | 2035|       |#  ifndef __acc_HAVE_unlikely
  |  | 2036|       |#  define __acc_HAVE_unlikely 1
  |  | 2037|       |#  endif
  |  | 2038|       |#else
  |  | 2039|       |#  define __acc_unlikely(e)         (e)
  |  | 2040|       |#endif
  |  | 2041|       |#if defined(__acc_very_unlikely)
  |  | 2042|       |#  ifndef __acc_HAVE_very_unlikely
  |  | 2043|       |#  define __acc_HAVE_very_unlikely 1
  |  | 2044|       |#  endif
  |  | 2045|       |#else
  |  | 2046|       |#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  | 2047|       |#endif
  |  | 2048|       |#if !defined(__acc_loop_forever)
  |  | 2049|       |#  if (ACC_CC_IBMC)
  |  | 2050|       |#    define __acc_loop_forever()    ACC_BLOCK_BEGIN for (;;) { ; } ACC_BLOCK_END
  |  | 2051|       |#  else
  |  | 2052|       |#    define __acc_loop_forever()    do { ; } while (__acc_cte(1))
  |  | 2053|       |#  endif
  |  | 2054|       |#endif
  |  | 2055|       |#if !defined(__acc_unreachable)
  |  | 2056|       |#if (ACC_CC_CLANG && (ACC_CC_CLANG >= 0x020800ul)) && acc_has_builtin(__builtin_unreachable)
  |  | 2057|       |#  define __acc_unreachable()       __builtin_unreachable();
  |  | 2058|       |#elif (ACC_CC_GNUC >= 0x040500ul)
  |  | 2059|       |#  define __acc_unreachable()       __builtin_unreachable();
  |  | 2060|       |#elif (ACC_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1300)) && 1
  |  | 2061|       |#  define __acc_unreachable()       __builtin_unreachable();
  |  | 2062|       |#endif
  |  | 2063|       |#endif
  |  | 2064|       |#if defined(__acc_unreachable)
  |  | 2065|       |#  ifndef __acc_HAVE_unreachable
  |  | 2066|       |#  define __acc_HAVE_unreachable 1
  |  | 2067|       |#  endif
  |  | 2068|       |#else
  |  | 2069|       |#  if 0
  |  | 2070|       |#  define __acc_unreachable()       ((void)0);
  |  | 2071|       |#  else
  |  | 2072|       |#  define __acc_unreachable()       __acc_loop_forever();
  |  | 2073|       |#  endif
  |  | 2074|       |#endif
  |  | 2075|       |#if !defined(acc_unused_funcs_impl)
  |  | 2076|       |#  if 1 && (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020700ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE || ACC_CC_PGI)
  |  | 2077|       |#    define acc_unused_funcs_impl(r,f)  static r __attribute__((__unused__)) f
  |  | 2078|       |#  elif 1 && (ACC_CC_BORLANDC || ACC_CC_GNUC)
  |  | 2079|       |#    define acc_unused_funcs_impl(r,f)  static r f
  |  | 2080|       |#  else
  |  | 2081|       |#    define acc_unused_funcs_impl(r,f)  __acc_static_forceinline r f
  |  | 2082|       |#  endif
  |  | 2083|       |#endif
  |  | 2084|       |#ifndef ACC_CTA_INTERNAL_NAME__
  |  | 2085|       |#if (ACC_CFG_USE_COUNTER)
  |  | 2086|       |#  define ACC_CTA_INTERNAL_NAME__(a)         ACC_PP_ECONCAT2(a,__COUNTER__)
  |  | 2087|       |#else
  |  | 2088|       |#  define ACC_CTA_INTERNAL_NAME__(a)         ACC_PP_ECONCAT2(a,__LINE__)
  |  | 2089|       |#endif
  |  | 2090|       |#endif
  |  | 2091|       |#if !defined(ACC_COMPILE_TIME_ASSERT_HEADER)
  |  | 2092|       |#  if (ACC_LANG_CXX >= 201103L)
  |  | 2093|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  static_assert(e, #e);
  |  | 2094|       |#  elif (ACC_LANG_C >= 201112L)
  |  | 2095|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  _Static_assert(e, #e);
  |  | 2096|       |#  elif (ACC_CC_AZTECC || ACC_CC_ZORTECHC)
  |  | 2097|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  ACC_EXTERN_C_BEGIN extern int ACC_CTA_INTERNAL_NAME__(acc_cta__)[1-!(e)]; ACC_EXTERN_C_END
  |  | 2098|       |#  elif (ACC_CC_DMC || ACC_CC_SYMANTECC)
  |  | 2099|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  ACC_EXTERN_C_BEGIN extern int ACC_CTA_INTERNAL_NAME__(acc_cta__)[1u-2*!(e)]; ACC_EXTERN_C_END
  |  | 2100|       |#  elif (ACC_CC_TURBOC && (__TURBOC__ == 0x0295))
  |  | 2101|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  ACC_EXTERN_C_BEGIN extern int ACC_CTA_INTERNAL_NAME__(acc_cta__)[1-!(e)]; ACC_EXTERN_C_END
  |  | 2102|       |#  elif (ACC_CC_CLANG && (ACC_CC_CLANG < 0x020900ul)) && defined(__cplusplus)
  |  | 2103|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  ACC_EXTERN_C_BEGIN int ACC_CTA_INTERNAL_NAME__(acc_cta_f__)(int [1-2*!(e)]); ACC_EXTERN_C_END
  |  | 2104|       |#  elif (ACC_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__)
  |  | 2105|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  ACC_EXTERN_C_BEGIN enum {ACC_CTA_INTERNAL_NAME__(acc_cta_e__)=1/!!(e)} __attribute__((__unused__)); ACC_EXTERN_C_END
  |  | 2106|       |#  else
  |  | 2107|       |#    define ACC_COMPILE_TIME_ASSERT_HEADER(e)  ACC_EXTERN_C_BEGIN extern int ACC_CTA_INTERNAL_NAME__(acc_cta__)[1-2*!(e)]; ACC_EXTERN_C_END
  |  | 2108|       |#  endif
  |  | 2109|       |#endif
  |  | 2110|       |#if !defined(ACC_COMPILE_TIME_ASSERT)
  |  | 2111|       |#  if (ACC_LANG_CXX >= 201103L)
  |  | 2112|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  | 2113|       |#  elif (ACC_LANG_C >= 201112L)
  |  | 2114|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {_Static_assert(e, #e);}
  |  | 2115|       |#  elif (ACC_CC_AZTECC)
  |  | 2116|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {typedef int ACC_CTA_INTERNAL_NAME__(acc_cta_t__)[1-!(e)];}
  |  | 2117|       |#  elif (ACC_CC_CLANG && (ACC_CC_CLANG >= 0x030000ul))
  |  | 2118|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {typedef int ACC_CTA_INTERNAL_NAME__(acc_cta_t__)[1-2*!(e)] __attribute__((__unused__));}
  |  | 2119|       |#  elif (ACC_CC_DMC || ACC_CC_PACIFICC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
  |  | 2120|       |#    define ACC_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
  |  | 2121|       |#  elif (ACC_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__)
  |  | 2122|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {(void) (0/!!(e));}
  |  | 2123|       |#  elif (ACC_CC_GNUC >= 0x040700ul) && (ACC_CFG_USE_COUNTER) && defined(__cplusplus)
  |  | 2124|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {enum {ACC_CTA_INTERNAL_NAME__(acc_cta_e__)=1/!!(e)} __attribute__((__unused__));}
  |  | 2125|       |#  elif (ACC_CC_GNUC >= 0x040700ul)
  |  | 2126|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {typedef int ACC_CTA_INTERNAL_NAME__(acc_cta_t__)[1-2*!(e)] __attribute__((__unused__));}
  |  | 2127|       |#  elif (ACC_CC_MSC && (_MSC_VER < 900))
  |  | 2128|       |#    define ACC_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
  |  | 2129|       |#  elif (ACC_CC_TURBOC && (__TURBOC__ == 0x0295))
  |  | 2130|       |#    define ACC_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
  |  | 2131|       |#  else
  |  | 2132|       |#    define ACC_COMPILE_TIME_ASSERT(e)  {typedef int ACC_CTA_INTERNAL_NAME__(acc_cta_t__)[1-2*!(e)];}
  |  | 2133|       |#  endif
  |  | 2134|       |#endif
  |  | 2135|       |#if (ACC_LANG_ASSEMBLER)
  |  | 2136|       |#  undef ACC_COMPILE_TIME_ASSERT_HEADER
  |  | 2137|       |#  define ACC_COMPILE_TIME_ASSERT_HEADER(e)  /*empty*/
  |  | 2138|       |#else
  |  | 2139|       |ACC_COMPILE_TIME_ASSERT_HEADER(1 == 1)
  |  | 2140|       |#if defined(__cplusplus)
  |  | 2141|       |extern "C" { ACC_COMPILE_TIME_ASSERT_HEADER(2 == 2) }
  |  | 2142|       |#endif
  |  | 2143|       |ACC_COMPILE_TIME_ASSERT_HEADER(3 == 3)
  |  | 2144|       |#endif
  |  | 2145|       |#if (ACC_ARCH_I086 || ACC_ARCH_I386) && (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 2146|       |#  if (ACC_CC_GNUC || ACC_CC_HIGHC || ACC_CC_NDPC || ACC_CC_PACIFICC)
  |  | 2147|       |#  elif (ACC_CC_DMC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
  |  | 2148|       |#    define __acc_cdecl                 __cdecl
  |  | 2149|       |#    define __acc_cdecl_atexit          /*empty*/
  |  | 2150|       |#    define __acc_cdecl_main            __cdecl
  |  | 2151|       |#    if (ACC_OS_OS2 && (ACC_CC_DMC || ACC_CC_SYMANTECC))
  |  | 2152|       |#      define __acc_cdecl_qsort         __pascal
  |  | 2153|       |#    elif (ACC_OS_OS2 && (ACC_CC_ZORTECHC))
  |  | 2154|       |#      define __acc_cdecl_qsort         _stdcall
  |  | 2155|       |#    else
  |  | 2156|       |#      define __acc_cdecl_qsort         __cdecl
  |  | 2157|       |#    endif
  |  | 2158|       |#  elif (ACC_CC_WATCOMC)
  |  | 2159|       |#    define __acc_cdecl                 __cdecl
  |  | 2160|       |#  else
  |  | 2161|       |#    define __acc_cdecl                 __cdecl
  |  | 2162|       |#    define __acc_cdecl_atexit          __cdecl
  |  | 2163|       |#    define __acc_cdecl_main            __cdecl
  |  | 2164|       |#    define __acc_cdecl_qsort           __cdecl
  |  | 2165|       |#  endif
  |  | 2166|       |#  if (ACC_CC_GNUC || ACC_CC_HIGHC || ACC_CC_NDPC || ACC_CC_PACIFICC || ACC_CC_WATCOMC)
  |  | 2167|       |#  elif (ACC_OS_OS2 && (ACC_CC_DMC || ACC_CC_SYMANTECC))
  |  | 2168|       |#    define __acc_cdecl_sighandler      __pascal
  |  | 2169|       |#  elif (ACC_OS_OS2 && (ACC_CC_ZORTECHC))
  |  | 2170|       |#    define __acc_cdecl_sighandler      _stdcall
  |  | 2171|       |#  elif (ACC_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE)
  |  | 2172|       |#    define __acc_cdecl_sighandler      __clrcall
  |  | 2173|       |#  elif (ACC_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700))
  |  | 2174|       |#    if defined(_DLL)
  |  | 2175|       |#      define __acc_cdecl_sighandler    _far _cdecl _loadds
  |  | 2176|       |#    elif defined(_MT)
  |  | 2177|       |#      define __acc_cdecl_sighandler    _far _cdecl
  |  | 2178|       |#    else
  |  | 2179|       |#      define __acc_cdecl_sighandler    _cdecl
  |  | 2180|       |#    endif
  |  | 2181|       |#  else
  |  | 2182|       |#    define __acc_cdecl_sighandler      __cdecl
  |  | 2183|       |#  endif
  |  | 2184|       |#elif (ACC_ARCH_I386) && (ACC_CC_WATCOMC)
  |  | 2185|       |#  define __acc_cdecl                   __cdecl
  |  | 2186|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
  |  | 2187|       |#  define __acc_cdecl                   cdecl
  |  | 2188|       |#endif
  |  | 2189|       |#if !defined(__acc_cdecl)
  |  | 2190|       |#  define __acc_cdecl                   /*empty*/
  |  | 2191|       |#endif
  |  | 2192|       |#if !defined(__acc_cdecl_atexit)
  |  | 2193|       |#  define __acc_cdecl_atexit            /*empty*/
  |  | 2194|       |#endif
  |  | 2195|       |#if !defined(__acc_cdecl_main)
  |  | 2196|       |#  define __acc_cdecl_main              /*empty*/
  |  | 2197|       |#endif
  |  | 2198|       |#if !defined(__acc_cdecl_qsort)
  |  | 2199|       |#  define __acc_cdecl_qsort             /*empty*/
  |  | 2200|       |#endif
  |  | 2201|       |#if !defined(__acc_cdecl_sighandler)
  |  | 2202|       |#  define __acc_cdecl_sighandler        /*empty*/
  |  | 2203|       |#endif
  |  | 2204|       |#if !defined(__acc_cdecl_va)
  |  | 2205|       |#  define __acc_cdecl_va                __acc_cdecl
  |  | 2206|       |#endif
  |  | 2207|       |#if !(ACC_CFG_NO_WINDOWS_H)
  |  | 2208|       |#if !defined(ACC_HAVE_WINDOWS_H)
  |  | 2209|       |#if (ACC_OS_CYGWIN || (ACC_OS_EMX && defined(__RSXNT__)) || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 2210|       |#  if (ACC_CC_WATCOMC && (__WATCOMC__ < 1000))
  |  | 2211|       |#  elif ((ACC_OS_WIN32 && defined(__PW32__)) && (ACC_CC_GNUC && (ACC_CC_GNUC < 0x030000ul)))
  |  | 2212|       |#  elif ((ACC_OS_CYGWIN || defined(__MINGW32__)) && (ACC_CC_GNUC && (ACC_CC_GNUC < 0x025f00ul)))
  |  | 2213|       |#  else
  |  | 2214|       |#    define ACC_HAVE_WINDOWS_H 1
  |  | 2215|       |#  endif
  |  | 2216|       |#endif
  |  | 2217|       |#endif
  |  | 2218|       |#endif
  |  | 2219|       |#define ACC_SIZEOF_CHAR             1
  |  | 2220|       |#ifndef ACC_SIZEOF_SHORT
  |  | 2221|       |#if defined(SIZEOF_SHORT)
  |  | 2222|       |#  define ACC_SIZEOF_SHORT          (SIZEOF_SHORT)
  |  | 2223|       |#elif defined(__SIZEOF_SHORT__)
  |  | 2224|       |#  define ACC_SIZEOF_SHORT          (__SIZEOF_SHORT__)
  |  | 2225|       |#endif
  |  | 2226|       |#endif
  |  | 2227|       |#ifndef ACC_SIZEOF_INT
  |  | 2228|       |#if defined(SIZEOF_INT)
  |  | 2229|       |#  define ACC_SIZEOF_INT            (SIZEOF_INT)
  |  | 2230|       |#elif defined(__SIZEOF_INT__)
  |  | 2231|       |#  define ACC_SIZEOF_INT            (__SIZEOF_INT__)
  |  | 2232|       |#endif
  |  | 2233|       |#endif
  |  | 2234|       |#ifndef ACC_SIZEOF_LONG
  |  | 2235|       |#if defined(SIZEOF_LONG)
  |  | 2236|       |#  define ACC_SIZEOF_LONG           (SIZEOF_LONG)
  |  | 2237|       |#elif defined(__SIZEOF_LONG__)
  |  | 2238|       |#  define ACC_SIZEOF_LONG           (__SIZEOF_LONG__)
  |  | 2239|       |#endif
  |  | 2240|       |#endif
  |  | 2241|       |#ifndef ACC_SIZEOF_LONG_LONG
  |  | 2242|       |#if defined(SIZEOF_LONG_LONG)
  |  | 2243|       |#  define ACC_SIZEOF_LONG_LONG      (SIZEOF_LONG_LONG)
  |  | 2244|       |#elif defined(__SIZEOF_LONG_LONG__)
  |  | 2245|       |#  define ACC_SIZEOF_LONG_LONG      (__SIZEOF_LONG_LONG__)
  |  | 2246|       |#endif
  |  | 2247|       |#endif
  |  | 2248|       |#ifndef ACC_SIZEOF___INT16
  |  | 2249|       |#if defined(SIZEOF___INT16)
  |  | 2250|       |#  define ACC_SIZEOF___INT16        (SIZEOF___INT16)
  |  | 2251|       |#endif
  |  | 2252|       |#endif
  |  | 2253|       |#ifndef ACC_SIZEOF___INT32
  |  | 2254|       |#if defined(SIZEOF___INT32)
  |  | 2255|       |#  define ACC_SIZEOF___INT32        (SIZEOF___INT32)
  |  | 2256|       |#endif
  |  | 2257|       |#endif
  |  | 2258|       |#ifndef ACC_SIZEOF___INT64
  |  | 2259|       |#if defined(SIZEOF___INT64)
  |  | 2260|       |#  define ACC_SIZEOF___INT64        (SIZEOF___INT64)
  |  | 2261|       |#endif
  |  | 2262|       |#endif
  |  | 2263|       |#ifndef ACC_SIZEOF_VOID_P
  |  | 2264|       |#if defined(SIZEOF_VOID_P)
  |  | 2265|       |#  define ACC_SIZEOF_VOID_P         (SIZEOF_VOID_P)
  |  | 2266|       |#elif defined(__SIZEOF_POINTER__)
  |  | 2267|       |#  define ACC_SIZEOF_VOID_P         (__SIZEOF_POINTER__)
  |  | 2268|       |#endif
  |  | 2269|       |#endif
  |  | 2270|       |#ifndef ACC_SIZEOF_SIZE_T
  |  | 2271|       |#if defined(SIZEOF_SIZE_T)
  |  | 2272|       |#  define ACC_SIZEOF_SIZE_T         (SIZEOF_SIZE_T)
  |  | 2273|       |#elif defined(__SIZEOF_SIZE_T__)
  |  | 2274|       |#  define ACC_SIZEOF_SIZE_T         (__SIZEOF_SIZE_T__)
  |  | 2275|       |#endif
  |  | 2276|       |#endif
  |  | 2277|       |#ifndef ACC_SIZEOF_PTRDIFF_T
  |  | 2278|       |#if defined(SIZEOF_PTRDIFF_T)
  |  | 2279|       |#  define ACC_SIZEOF_PTRDIFF_T      (SIZEOF_PTRDIFF_T)
  |  | 2280|       |#elif defined(__SIZEOF_PTRDIFF_T__)
  |  | 2281|       |#  define ACC_SIZEOF_PTRDIFF_T      (__SIZEOF_PTRDIFF_T__)
  |  | 2282|       |#endif
  |  | 2283|       |#endif
  |  | 2284|       |#define __ACC_LSR(x,b)    (((x)+0ul) >> (b))
  |  | 2285|       |#if !defined(ACC_SIZEOF_SHORT)
  |  | 2286|       |#  if (ACC_ARCH_CRAY_PVP)
  |  | 2287|       |#    define ACC_SIZEOF_SHORT        8
  |  | 2288|       |#  elif (USHRT_MAX == ACC_0xffffL)
  |  | 2289|       |#    define ACC_SIZEOF_SHORT        2
  |  | 2290|       |#  elif (__ACC_LSR(USHRT_MAX,7) == 1)
  |  | 2291|       |#    define ACC_SIZEOF_SHORT        1
  |  | 2292|       |#  elif (__ACC_LSR(USHRT_MAX,15) == 1)
  |  | 2293|       |#    define ACC_SIZEOF_SHORT        2
  |  | 2294|       |#  elif (__ACC_LSR(USHRT_MAX,31) == 1)
  |  | 2295|       |#    define ACC_SIZEOF_SHORT        4
  |  | 2296|       |#  elif (__ACC_LSR(USHRT_MAX,63) == 1)
  |  | 2297|       |#    define ACC_SIZEOF_SHORT        8
  |  | 2298|       |#  elif (__ACC_LSR(USHRT_MAX,127) == 1)
  |  | 2299|       |#    define ACC_SIZEOF_SHORT        16
  |  | 2300|       |#  else
  |  | 2301|       |#    error "ACC_SIZEOF_SHORT"
  |  | 2302|       |#  endif
  |  | 2303|       |#endif
  |  | 2304|       |ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_SHORT == sizeof(short))
  |  | 2305|       |#if !defined(ACC_SIZEOF_INT)
  |  | 2306|       |#  if (ACC_ARCH_CRAY_PVP)
  |  | 2307|       |#    define ACC_SIZEOF_INT          8
  |  | 2308|       |#  elif (UINT_MAX == ACC_0xffffL)
  |  | 2309|       |#    define ACC_SIZEOF_INT          2
  |  | 2310|       |#  elif (UINT_MAX == ACC_0xffffffffL)
  |  | 2311|       |#    define ACC_SIZEOF_INT          4
  |  | 2312|       |#  elif (__ACC_LSR(UINT_MAX,7) == 1)
  |  | 2313|       |#    define ACC_SIZEOF_INT          1
  |  | 2314|       |#  elif (__ACC_LSR(UINT_MAX,15) == 1)
  |  | 2315|       |#    define ACC_SIZEOF_INT          2
  |  | 2316|       |#  elif (__ACC_LSR(UINT_MAX,31) == 1)
  |  | 2317|       |#    define ACC_SIZEOF_INT          4
  |  | 2318|       |#  elif (__ACC_LSR(UINT_MAX,63) == 1)
  |  | 2319|       |#    define ACC_SIZEOF_INT          8
  |  | 2320|       |#  elif (__ACC_LSR(UINT_MAX,127) == 1)
  |  | 2321|       |#    define ACC_SIZEOF_INT          16
  |  | 2322|       |#  else
  |  | 2323|       |#    error "ACC_SIZEOF_INT"
  |  | 2324|       |#  endif
  |  | 2325|       |#endif
  |  | 2326|       |ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_INT == sizeof(int))
  |  | 2327|       |#if !defined(ACC_SIZEOF_LONG)
  |  | 2328|       |#  if (ULONG_MAX == ACC_0xffffffffL)
  |  | 2329|       |#    define ACC_SIZEOF_LONG         4
  |  | 2330|       |#  elif (__ACC_LSR(ULONG_MAX,7) == 1)
  |  | 2331|       |#    define ACC_SIZEOF_LONG         1
  |  | 2332|       |#  elif (__ACC_LSR(ULONG_MAX,15) == 1)
  |  | 2333|       |#    define ACC_SIZEOF_LONG         2
  |  | 2334|       |#  elif (__ACC_LSR(ULONG_MAX,31) == 1)
  |  | 2335|       |#    define ACC_SIZEOF_LONG         4
  |  | 2336|       |#  elif (__ACC_LSR(ULONG_MAX,39) == 1)
  |  | 2337|       |#    define ACC_SIZEOF_LONG         5
  |  | 2338|       |#  elif (__ACC_LSR(ULONG_MAX,63) == 1)
  |  | 2339|       |#    define ACC_SIZEOF_LONG         8
  |  | 2340|       |#  elif (__ACC_LSR(ULONG_MAX,127) == 1)
  |  | 2341|       |#    define ACC_SIZEOF_LONG         16
  |  | 2342|       |#  else
  |  | 2343|       |#    error "ACC_SIZEOF_LONG"
  |  | 2344|       |#  endif
  |  | 2345|       |#endif
  |  | 2346|       |ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_LONG == sizeof(long))
  |  | 2347|       |#if !defined(ACC_SIZEOF_LONG_LONG) && !defined(ACC_SIZEOF___INT64)
  |  | 2348|       |#if (ACC_SIZEOF_LONG > 0 && ACC_SIZEOF_LONG < 8)
  |  | 2349|       |#  if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__)
  |  | 2350|       |#    if (ACC_CC_GNUC >= 0x030300ul)
  |  | 2351|       |#      if ((__LONG_MAX__-0) == (__LONG_LONG_MAX__-0))
  |  | 2352|       |#        define ACC_SIZEOF_LONG_LONG      ACC_SIZEOF_LONG
  |  | 2353|       |#      elif (__ACC_LSR(__LONG_LONG_MAX__,30) == 1)
  |  | 2354|       |#        define ACC_SIZEOF_LONG_LONG      4
  |  | 2355|       |#      endif
  |  | 2356|       |#    endif
  |  | 2357|       |#  endif
  |  | 2358|       |#endif
  |  | 2359|       |#endif
  |  | 2360|       |#if !defined(ACC_SIZEOF_LONG_LONG) && !defined(ACC_SIZEOF___INT64)
  |  | 2361|       |#if (ACC_SIZEOF_LONG > 0 && ACC_SIZEOF_LONG < 8)
  |  | 2362|       |#if (ACC_ARCH_I086 && ACC_CC_DMC)
  |  | 2363|       |#elif (ACC_CC_CILLY) && defined(__GNUC__)
  |  | 2364|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2365|       |#elif (ACC_CC_ARMCC_GNUC || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 2366|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2367|       |#elif ((ACC_OS_WIN32 || ACC_OS_WIN64 || defined(_WIN32)) && ACC_CC_MSC && (_MSC_VER >= 1400))
  |  | 2368|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2369|       |#elif (ACC_OS_WIN64 || defined(_WIN64))
  |  | 2370|       |#  define ACC_SIZEOF___INT64        8
  |  | 2371|       |#elif (ACC_ARCH_I386 && (ACC_CC_DMC))
  |  | 2372|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2373|       |#elif (ACC_ARCH_I386 && (ACC_CC_SYMANTECC && (__SC__ >= 0x700)))
  |  | 2374|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2375|       |#elif (ACC_ARCH_I386 && (ACC_CC_INTELC && defined(__linux__)))
  |  | 2376|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2377|       |#elif (ACC_ARCH_I386 && (ACC_CC_MWERKS || ACC_CC_PELLESC || ACC_CC_PGI || ACC_CC_SUNPROC))
  |  | 2378|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2379|       |#elif (ACC_ARCH_I386 && (ACC_CC_INTELC || ACC_CC_MSC))
  |  | 2380|       |#  define ACC_SIZEOF___INT64        8
  |  | 2381|       |#elif ((ACC_OS_WIN32 || defined(_WIN32)) && (ACC_CC_MSC))
  |  | 2382|       |#  define ACC_SIZEOF___INT64        8
  |  | 2383|       |#elif (ACC_ARCH_I386 && (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
  |  | 2384|       |#  define ACC_SIZEOF___INT64        8
  |  | 2385|       |#elif (ACC_ARCH_I386 && (ACC_CC_WATCOMC && (__WATCOMC__ >= 1100)))
  |  | 2386|       |#  define ACC_SIZEOF___INT64        8
  |  | 2387|       |#elif (ACC_CC_GHS && defined(__LLONG_BIT) && ((__LLONG_BIT-0) == 64))
  |  | 2388|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2389|       |#elif (ACC_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && ((_INTEGRAL_MAX_BITS-0) == 64))
  |  | 2390|       |#  define ACC_SIZEOF___INT64        8
  |  | 2391|       |#elif (ACC_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
  |  | 2392|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2393|       |#elif (defined(__vms) || defined(__VMS)) && ((__INITIAL_POINTER_SIZE-0) == 64)
  |  | 2394|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2395|       |#elif (ACC_CC_SDCC) && (ACC_SIZEOF_INT == 2)
  |  | 2396|       |#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
  |  | 2397|       |#  define ACC_SIZEOF_LONG_LONG      8
  |  | 2398|       |#endif
  |  | 2399|       |#endif
  |  | 2400|       |#endif
  |  | 2401|       |#if defined(__cplusplus) && (ACC_CC_GNUC)
  |  | 2402|       |#  if (ACC_CC_GNUC < 0x020800ul)
  |  | 2403|       |#    undef ACC_SIZEOF_LONG_LONG
  |  | 2404|       |#  endif
  |  | 2405|       |#endif
  |  | 2406|       |#if (ACC_CFG_NO_LONG_LONG)
  |  | 2407|       |#  undef ACC_SIZEOF_LONG_LONG
  |  | 2408|       |#elif defined(__NO_LONG_LONG)
  |  | 2409|       |#  undef ACC_SIZEOF_LONG_LONG
  |  | 2410|       |#elif defined(_NO_LONGLONG)
  |  | 2411|       |#  undef ACC_SIZEOF_LONG_LONG
  |  | 2412|       |#endif
  |  | 2413|       |#if !defined(ACC_WORDSIZE)
  |  | 2414|       |#if (ACC_ARCH_ALPHA)
  |  | 2415|       |#  define ACC_WORDSIZE              8
  |  | 2416|       |#elif (ACC_ARCH_AMD64)
  |  | 2417|       |#  define ACC_WORDSIZE              8
  |  | 2418|       |#elif (ACC_ARCH_ARM64)
  |  | 2419|       |#  define ACC_WORDSIZE              8
  |  | 2420|       |#elif (ACC_ARCH_AVR)
  |  | 2421|       |#  define ACC_WORDSIZE              1
  |  | 2422|       |#elif (ACC_ARCH_H8300)
  |  | 2423|       |#  if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
  |  | 2424|       |#    define ACC_WORDSIZE            4
  |  | 2425|       |#  else
  |  | 2426|       |#    define ACC_WORDSIZE            2
  |  | 2427|       |#  endif
  |  | 2428|       |#elif (ACC_ARCH_I086)
  |  | 2429|       |#  define ACC_WORDSIZE              2
  |  | 2430|       |#elif (ACC_ARCH_IA64)
  |  | 2431|       |#  define ACC_WORDSIZE              8
  |  | 2432|       |#elif (ACC_ARCH_M16C)
  |  | 2433|       |#  define ACC_WORDSIZE              2
  |  | 2434|       |#elif (ACC_ARCH_SPU)
  |  | 2435|       |#  define ACC_WORDSIZE              4
  |  | 2436|       |#elif (ACC_ARCH_Z80)
  |  | 2437|       |#  define ACC_WORDSIZE              1
  |  | 2438|       |#elif (ACC_ARCH_MIPS) && (ACC_SIZEOF_LONG == 8) && (defined(__R5900) || defined(__MIPS_PSX2__))
  |  | 2439|       |#  define ACC_WORDSIZE              8
  |  | 2440|       |#elif (ACC_ARCH_MIPS) && (ACC_SIZEOF_LONG == 4) && defined(__mips64) && defined(_MIPS_SIM) && defined(_ABIN32) && (_MIPS_SIM+0 == _ABIN32+0)
  |  | 2441|       |#  define ACC_WORDSIZE              8
  |  | 2442|       |#elif (ACC_OS_OS400 || defined(__OS400__))
  |  | 2443|       |#  define ACC_WORDSIZE              8
  |  | 2444|       |#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
  |  | 2445|       |#  define ACC_WORDSIZE              8
  |  | 2446|       |#endif
  |  | 2447|       |#endif
  |  | 2448|       |#if !defined(ACC_SIZEOF_VOID_P)
  |  | 2449|       |#if defined(__ILP32__) || defined(__ILP32) || defined(_ILP32)
  |  | 2450|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(int)  == 4)
  |  | 2451|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4)
  |  | 2452|       |#  define ACC_SIZEOF_VOID_P         4
  |  | 2453|       |#elif defined(__ILP64__) || defined(__ILP64) || defined(_ILP64)
  |  | 2454|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(int)  == 8)
  |  | 2455|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8)
  |  | 2456|       |#  define ACC_SIZEOF_VOID_P         8
  |  | 2457|       |#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
  |  | 2458|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4)
  |  | 2459|       |#  define ACC_SIZEOF_VOID_P         8
  |  | 2460|       |#elif defined(__LP64__) || defined(__LP64) || defined(_LP64)
  |  | 2461|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8)
  |  | 2462|       |#  define ACC_SIZEOF_VOID_P         8
  |  | 2463|       |#elif (ACC_ARCH_AVR)
  |  | 2464|       |#  define ACC_SIZEOF_VOID_P         2
  |  | 2465|       |#elif (ACC_ARCH_C166 || ACC_ARCH_MCS51 || ACC_ARCH_MCS251 || ACC_ARCH_MSP430)
  |  | 2466|       |#  define ACC_SIZEOF_VOID_P         2
  |  | 2467|       |#elif (ACC_ARCH_H8300)
  |  | 2468|       |#  if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
  |  | 2469|       |     ACC_COMPILE_TIME_ASSERT_HEADER(ACC_WORDSIZE == 4)
  |  | 2470|       |#    if defined(__NORMAL_MODE__)
  |  | 2471|       |#      define ACC_SIZEOF_VOID_P     2
  |  | 2472|       |#    else
  |  | 2473|       |#      define ACC_SIZEOF_VOID_P     4
  |  | 2474|       |#    endif
  |  | 2475|       |#  else
  |  | 2476|       |     ACC_COMPILE_TIME_ASSERT_HEADER(ACC_WORDSIZE == 2)
  |  | 2477|       |#    define ACC_SIZEOF_VOID_P       2
  |  | 2478|       |#  endif
  |  | 2479|       |#  if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x040000ul)) && (ACC_SIZEOF_INT == 4)
  |  | 2480|       |#    define ACC_SIZEOF_SIZE_T       ACC_SIZEOF_INT
  |  | 2481|       |#    define ACC_SIZEOF_PTRDIFF_T    ACC_SIZEOF_INT
  |  | 2482|       |#  endif
  |  | 2483|       |#elif (ACC_ARCH_I086)
  |  | 2484|       |#  if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
  |  | 2485|       |#    define ACC_SIZEOF_VOID_P       2
  |  | 2486|       |#  elif (ACC_MM_COMPACT || ACC_MM_LARGE || ACC_MM_HUGE)
  |  | 2487|       |#    define ACC_SIZEOF_VOID_P       4
  |  | 2488|       |#  else
  |  | 2489|       |#    error "invalid ACC_ARCH_I086 memory model"
  |  | 2490|       |#  endif
  |  | 2491|       |#elif (ACC_ARCH_M16C)
  |  | 2492|       |#  if defined(__m32c_cpu__) || defined(__m32cm_cpu__)
  |  | 2493|       |#    define ACC_SIZEOF_VOID_P       4
  |  | 2494|       |#  else
  |  | 2495|       |#    define ACC_SIZEOF_VOID_P       2
  |  | 2496|       |#  endif
  |  | 2497|       |#elif (ACC_ARCH_SPU)
  |  | 2498|       |#  define ACC_SIZEOF_VOID_P         4
  |  | 2499|       |#elif (ACC_ARCH_Z80)
  |  | 2500|       |#  define ACC_SIZEOF_VOID_P         2
  |  | 2501|       |#elif (ACC_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
  |  | 2502|       |#  define ACC_SIZEOF_VOID_P         4
  |  | 2503|       |#elif (ACC_OS_OS400 || defined(__OS400__))
  |  | 2504|       |#  if defined(__LLP64_IFC__)
  |  | 2505|       |#    define ACC_SIZEOF_VOID_P       8
  |  | 2506|       |#    define ACC_SIZEOF_SIZE_T       ACC_SIZEOF_LONG
  |  | 2507|       |#    define ACC_SIZEOF_PTRDIFF_T    ACC_SIZEOF_LONG
  |  | 2508|       |#  else
  |  | 2509|       |#    define ACC_SIZEOF_VOID_P       16
  |  | 2510|       |#    define ACC_SIZEOF_SIZE_T       ACC_SIZEOF_LONG
  |  | 2511|       |#    define ACC_SIZEOF_PTRDIFF_T    ACC_SIZEOF_LONG
  |  | 2512|       |#  endif
  |  | 2513|       |#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
  |  | 2514|       |#  define ACC_SIZEOF_VOID_P         8
  |  | 2515|       |#  define ACC_SIZEOF_SIZE_T         ACC_SIZEOF_LONG
  |  | 2516|       |#  define ACC_SIZEOF_PTRDIFF_T      ACC_SIZEOF_LONG
  |  | 2517|       |#endif
  |  | 2518|       |#endif
  |  | 2519|       |#if !defined(ACC_SIZEOF_VOID_P)
  |  | 2520|       |#  define ACC_SIZEOF_VOID_P         ACC_SIZEOF_LONG
  |  | 2521|       |#endif
  |  | 2522|       |ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_VOID_P == sizeof(void *))
  |  | 2523|       |#if !defined(ACC_SIZEOF_SIZE_T)
  |  | 2524|       |#if (ACC_ARCH_I086 || ACC_ARCH_M16C)
  |  | 2525|       |#  define ACC_SIZEOF_SIZE_T         2
  |  | 2526|       |#endif
  |  | 2527|       |#endif
  |  | 2528|       |#if !defined(ACC_SIZEOF_SIZE_T)
  |  | 2529|       |#  define ACC_SIZEOF_SIZE_T         ACC_SIZEOF_VOID_P
  |  | 2530|       |#endif
  |  | 2531|       |#if defined(offsetof)
  |  | 2532|       |ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_SIZE_T == sizeof(size_t))
  |  | 2533|       |#endif
  |  | 2534|       |#if !defined(ACC_SIZEOF_PTRDIFF_T)
  |  | 2535|       |#if (ACC_ARCH_I086)
  |  | 2536|       |#  if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM || ACC_MM_HUGE)
  |  | 2537|       |#    define ACC_SIZEOF_PTRDIFF_T    ACC_SIZEOF_VOID_P
  |  | 2538|       |#  elif (ACC_MM_COMPACT || ACC_MM_LARGE)
  |  | 2539|       |#    if (ACC_CC_BORLANDC || ACC_CC_TURBOC)
  |  | 2540|       |#      define ACC_SIZEOF_PTRDIFF_T  4
  |  | 2541|       |#    else
  |  | 2542|       |#      define ACC_SIZEOF_PTRDIFF_T  2
  |  | 2543|       |#    endif
  |  | 2544|       |#  else
  |  | 2545|       |#    error "invalid ACC_ARCH_I086 memory model"
  |  | 2546|       |#  endif
  |  | 2547|       |#endif
  |  | 2548|       |#endif
  |  | 2549|       |#if !defined(ACC_SIZEOF_PTRDIFF_T)
  |  | 2550|       |#  define ACC_SIZEOF_PTRDIFF_T      ACC_SIZEOF_SIZE_T
  |  | 2551|       |#endif
  |  | 2552|       |#if defined(offsetof)
  |  | 2553|       |ACC_COMPILE_TIME_ASSERT_HEADER(ACC_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
  |  | 2554|       |#endif
  |  | 2555|       |#if !defined(ACC_WORDSIZE)
  |  | 2556|       |#  define ACC_WORDSIZE              ACC_SIZEOF_VOID_P
  |  | 2557|       |#endif
  |  | 2558|       |#if (ACC_ABI_NEUTRAL_ENDIAN)
  |  | 2559|       |#  undef ACC_ABI_BIG_ENDIAN
  |  | 2560|       |#  undef ACC_ABI_LITTLE_ENDIAN
  |  | 2561|       |#elif !(ACC_ABI_BIG_ENDIAN) && !(ACC_ABI_LITTLE_ENDIAN)
  |  | 2562|       |#if defined(__ORDER_BIG_ENDIAN__) && defined(__ORDER_LITTLE_ENDIAN__) && (__ORDER_BIG_ENDIAN__+0 != 0) && (__ORDER_LITTLE_ENDIAN__+0 != 0) && (__ORDER_BIG_ENDIAN__ + 0 != __ORDER_LITTLE_ENDIAN__ + 0) && defined(__BYTE_ORDER__) && (__BYTE_ORDER__+0 == __ORDER_BIG_ENDIAN__ + 0)
  |  | 2563|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2564|       |#elif defined(__ORDER_BIG_ENDIAN__) && defined(__ORDER_LITTLE_ENDIAN__) && (__ORDER_BIG_ENDIAN__+0 != 0) && (__ORDER_LITTLE_ENDIAN__+0 != 0) && (__ORDER_BIG_ENDIAN__ + 0 != __ORDER_LITTLE_ENDIAN__ + 0) && defined(__BYTE_ORDER__) && (__BYTE_ORDER__+0 == __ORDER_LITTLE_ENDIAN__ + 0)
  |  | 2565|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2566|       |#elif (ACC_ARCH_ALPHA) && (ACC_ARCH_CRAY_MPP)
  |  | 2567|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2568|       |#elif (ACC_ARCH_IA64) && (ACC_OS_POSIX_FREEBSD || ACC_OS_POSIX_LINUX || ACC_OS_WIN64)
  |  | 2569|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2570|       |#elif (ACC_ARCH_ALPHA || ACC_ARCH_AMD64 || ACC_ARCH_BLACKFIN || ACC_ARCH_CRIS || ACC_ARCH_I086 || ACC_ARCH_I386 || ACC_ARCH_MSP430 || ACC_ARCH_RISCV)
  |  | 2571|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2572|       |#elif (ACC_ARCH_AVR32 || ACC_ARCH_M68K || ACC_ARCH_S390 || ACC_ARCH_SPARC || ACC_ARCH_SPU)
  |  | 2573|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2574|       |#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__)
  |  | 2575|       |#  if (__LITTLE_ENDIAN__ == 1)
  |  | 2576|       |#    define ACC_ABI_LITTLE_ENDIAN   1
  |  | 2577|       |#  else
  |  | 2578|       |#    define ACC_ABI_BIG_ENDIAN      1
  |  | 2579|       |#  endif
  |  | 2580|       |#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
  |  | 2581|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2582|       |#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
  |  | 2583|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2584|       |#elif 1 && (ACC_ARCH_ARM) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0)
  |  | 2585|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2586|       |#elif 1 && (ACC_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__)
  |  | 2587|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2588|       |#elif 1 && (ACC_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
  |  | 2589|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2590|       |#elif 1 && (ACC_ARCH_ARM) && defined(_MSC_VER) && defined(_WIN32)
  |  | 2591|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2592|       |#elif 1 && (ACC_ARCH_ARM && ACC_CC_ARMCC_ARMCC)
  |  | 2593|       |#  if defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN)
  |  | 2594|       |#    error "unexpected configuration - check your compiler defines"
  |  | 2595|       |#  elif defined(__BIG_ENDIAN)
  |  | 2596|       |#    define ACC_ABI_BIG_ENDIAN      1
  |  | 2597|       |#  else
  |  | 2598|       |#    define ACC_ABI_LITTLE_ENDIAN   1
  |  | 2599|       |#  endif
  |  | 2600|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2601|       |#elif 1 && (ACC_ARCH_ARM64) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0)
  |  | 2602|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2603|       |#elif 1 && (ACC_ARCH_ARM64) && defined(__AARCH64EB__) && !defined(__AARCH64EL__)
  |  | 2604|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2605|       |#elif 1 && (ACC_ARCH_ARM64) && defined(__AARCH64EL__) && !defined(__AARCH64EB__)
  |  | 2606|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2607|       |#elif 1 && (ACC_ARCH_ARM64) && defined(_MSC_VER) && defined(_WIN32)
  |  | 2608|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2609|       |#elif 1 && (ACC_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
  |  | 2610|       |#  define ACC_ABI_BIG_ENDIAN        1
  |  | 2611|       |#elif 1 && (ACC_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
  |  | 2612|       |#  define ACC_ABI_LITTLE_ENDIAN     1
  |  | 2613|       |#endif
  |  | 2614|       |#endif
  |  | 2615|       |#if (ACC_ABI_BIG_ENDIAN) && (ACC_ABI_LITTLE_ENDIAN)
  |  | 2616|       |#  error "unexpected configuration - check your compiler defines"
  |  | 2617|       |#endif
  |  | 2618|       |#if (ACC_ABI_BIG_ENDIAN)
  |  | 2619|       |#  define ACC_INFO_ABI_ENDIAN       "be"
  |  | 2620|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  |  | 2621|       |#  define ACC_INFO_ABI_ENDIAN       "le"
  |  | 2622|       |#elif (ACC_ABI_NEUTRAL_ENDIAN)
  |  | 2623|       |#  define ACC_INFO_ABI_ENDIAN       "neutral"
  |  | 2624|       |#endif
  |  | 2625|       |#if (ACC_SIZEOF_INT == 1 && ACC_SIZEOF_LONG == 2 && ACC_SIZEOF_VOID_P == 2)
  |  | 2626|       |#  define ACC_ABI_I8LP16         1
  |  | 2627|       |#  define ACC_INFO_ABI_PM       "i8lp16"
  |  | 2628|       |#elif (ACC_SIZEOF_INT == 2 && ACC_SIZEOF_LONG == 2 && ACC_SIZEOF_VOID_P == 2)
  |  | 2629|       |#  define ACC_ABI_ILP16         1
  |  | 2630|       |#  define ACC_INFO_ABI_PM       "ilp16"
  |  | 2631|       |#elif (ACC_SIZEOF_INT == 2 && ACC_SIZEOF_LONG == 4 && ACC_SIZEOF_VOID_P == 4)
  |  | 2632|       |#  define ACC_ABI_LP32          1
  |  | 2633|       |#  define ACC_INFO_ABI_PM       "lp32"
  |  | 2634|       |#elif (ACC_SIZEOF_INT == 4 && ACC_SIZEOF_LONG == 4 && ACC_SIZEOF_VOID_P == 4)
  |  | 2635|       |#  define ACC_ABI_ILP32         1
  |  | 2636|       |#  define ACC_INFO_ABI_PM       "ilp32"
  |  | 2637|       |#elif (ACC_SIZEOF_INT == 4 && ACC_SIZEOF_LONG == 4 && ACC_SIZEOF_VOID_P == 8 && ACC_SIZEOF_SIZE_T == 8)
  |  | 2638|       |#  define ACC_ABI_LLP64         1
  |  | 2639|       |#  define ACC_INFO_ABI_PM       "llp64"
  |  | 2640|       |#elif (ACC_SIZEOF_INT == 4 && ACC_SIZEOF_LONG == 8 && ACC_SIZEOF_VOID_P == 8)
  |  | 2641|       |#  define ACC_ABI_LP64          1
  |  | 2642|       |#  define ACC_INFO_ABI_PM       "lp64"
  |  | 2643|       |#elif (ACC_SIZEOF_INT == 8 && ACC_SIZEOF_LONG == 8 && ACC_SIZEOF_VOID_P == 8)
  |  | 2644|       |#  define ACC_ABI_ILP64         1
  |  | 2645|       |#  define ACC_INFO_ABI_PM       "ilp64"
  |  | 2646|       |#elif (ACC_SIZEOF_INT == 4 && ACC_SIZEOF_LONG == 8 && ACC_SIZEOF_VOID_P == 4)
  |  | 2647|       |#  define ACC_ABI_IP32L64       1
  |  | 2648|       |#  define ACC_INFO_ABI_PM       "ip32l64"
  |  | 2649|       |#endif
  |  | 2650|       |#if (ACC_SIZEOF_INT == 4 && ACC_SIZEOF_VOID_P == 4 && ACC_WORDSIZE == 8)
  |  | 2651|       |#  define ACC_ABI_IP32W64       1
  |  | 2652|       |#  ifndef ACC_INFO_ABI_PM
  |  | 2653|       |#  define ACC_INFO_ABI_PM       "ip32w64"
  |  | 2654|       |#  endif
  |  | 2655|       |#endif
  |  | 2656|       |#if 0
  |  | 2657|       |#elif !defined(__ACC_LIBC_OVERRIDE)
  |  | 2658|       |#if (ACC_LIBC_NAKED)
  |  | 2659|       |#  define ACC_INFO_LIBC         "naked"
  |  | 2660|       |#elif (ACC_LIBC_FREESTANDING)
  |  | 2661|       |#  define ACC_INFO_LIBC         "freestanding"
  |  | 2662|       |#elif (ACC_LIBC_MOSTLY_FREESTANDING)
  |  | 2663|       |#  define ACC_INFO_LIBC         "mfreestanding"
  |  | 2664|       |#elif (ACC_LIBC_ISOC90)
  |  | 2665|       |#  define ACC_INFO_LIBC         "isoc90"
  |  | 2666|       |#elif (ACC_LIBC_ISOC99)
  |  | 2667|       |#  define ACC_INFO_LIBC         "isoc99"
  |  | 2668|       |#elif (ACC_CC_ARMCC_ARMCC) && defined(__ARMCLIB_VERSION)
  |  | 2669|       |#  define ACC_LIBC_ISOC90       1
  |  | 2670|       |#  define ACC_INFO_LIBC         "isoc90"
  |  | 2671|       |#elif defined(__dietlibc__)
  |  | 2672|       |#  define ACC_LIBC_DIETLIBC     1
  |  | 2673|       |#  define ACC_INFO_LIBC         "dietlibc"
  |  | 2674|       |#elif defined(_NEWLIB_VERSION)
  |  | 2675|       |#  define ACC_LIBC_NEWLIB       1
  |  | 2676|       |#  define ACC_INFO_LIBC         "newlib"
  |  | 2677|       |#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__)
  |  | 2678|       |#  if defined(__UCLIBC_SUBLEVEL__)
  |  | 2679|       |#    define ACC_LIBC_UCLIBC     (__UCLIBC_MAJOR__ * 0x10000L + (__UCLIBC_MINOR__-0) * 0x100 + (__UCLIBC_SUBLEVEL__-0))
  |  | 2680|       |#  else
  |  | 2681|       |#    define ACC_LIBC_UCLIBC     0x00090bL
  |  | 2682|       |#  endif
  |  | 2683|       |#  define ACC_INFO_LIBC         "uc" "libc"
  |  | 2684|       |#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__)
  |  | 2685|       |#  define ACC_LIBC_GLIBC        (__GLIBC__ * 0x10000L + (__GLIBC_MINOR__-0) * 0x100)
  |  | 2686|       |#  define ACC_INFO_LIBC         "glibc"
  |  | 2687|       |#elif (ACC_CC_MWERKS) && defined(__MSL__)
  |  | 2688|       |#  define ACC_LIBC_MSL          __MSL__
  |  | 2689|       |#  define ACC_INFO_LIBC         "msl"
  |  | 2690|       |#elif 1 && defined(__IAR_SYSTEMS_ICC__)
  |  | 2691|       |#  define ACC_LIBC_ISOC90       1
  |  | 2692|       |#  define ACC_INFO_LIBC         "isoc90"
  |  | 2693|       |#else
  |  | 2694|       |#  define ACC_LIBC_DEFAULT      1
  |  | 2695|       |#  define ACC_INFO_LIBC         "default"
  |  | 2696|       |#endif
  |  | 2697|       |#endif
  |  | 2698|       |#if (ACC_ARCH_I386 && (ACC_OS_DOS32 || ACC_OS_WIN32) && (ACC_CC_DMC || ACC_CC_INTELC || ACC_CC_MSC || ACC_CC_PELLESC))
  |  | 2699|       |#  define ACC_ASM_SYNTAX_MSC 1
  |  | 2700|       |#elif (ACC_OS_WIN64 && (ACC_CC_DMC || ACC_CC_INTELC || ACC_CC_MSC || ACC_CC_PELLESC))
  |  | 2701|       |#elif (ACC_ARCH_I386 && ACC_CC_GNUC && (ACC_CC_GNUC == 0x011f00ul))
  |  | 2702|       |#elif (ACC_ARCH_I386 && (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE))
  |  | 2703|       |#  define ACC_ASM_SYNTAX_GNUC 1
  |  | 2704|       |#elif (ACC_ARCH_AMD64 && (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE))
  |  | 2705|       |#  define ACC_ASM_SYNTAX_GNUC 1
  |  | 2706|       |#elif (ACC_CC_GNUC)
  |  | 2707|       |#  define ACC_ASM_SYNTAX_GNUC 1
  |  | 2708|       |#endif
  |  | 2709|       |#if (ACC_ASM_SYNTAX_GNUC)
  |  | 2710|       |#if (ACC_ARCH_I386 && ACC_CC_GNUC && (ACC_CC_GNUC < 0x020000ul))
  |  | 2711|       |#  define __ACC_ASM_CLOBBER                     "ax"
  |  | 2712|       |#  define __ACC_ASM_CLOBBER_LIST_CC             /*empty*/
  |  | 2713|       |#  define __ACC_ASM_CLOBBER_LIST_CC_MEMORY      /*empty*/
  |  | 2714|       |#  define __ACC_ASM_CLOBBER_LIST_EMPTY          /*empty*/
  |  | 2715|       |#elif (ACC_CC_INTELC && (__INTEL_COMPILER < 1000))
  |  | 2716|       |#  define __ACC_ASM_CLOBBER                     "memory"
  |  | 2717|       |#  define __ACC_ASM_CLOBBER_LIST_CC             /*empty*/
  |  | 2718|       |#  define __ACC_ASM_CLOBBER_LIST_CC_MEMORY      : "memory"
  |  | 2719|       |#  define __ACC_ASM_CLOBBER_LIST_EMPTY          /*empty*/
  |  | 2720|       |#else
  |  | 2721|       |#  define __ACC_ASM_CLOBBER                     "cc", "memory"
  |  | 2722|       |#  define __ACC_ASM_CLOBBER_LIST_CC             : "cc"
  |  | 2723|       |#  define __ACC_ASM_CLOBBER_LIST_CC_MEMORY      : "cc", "memory"
  |  | 2724|       |#  define __ACC_ASM_CLOBBER_LIST_EMPTY          /*empty*/
  |  | 2725|       |#endif
  |  | 2726|       |#endif
  |  | 2727|       |#if (ACC_ARCH_ALPHA)
  |  | 2728|       |#  define ACC_OPT_AVOID_UINT_INDEX          1
  |  | 2729|       |#elif (ACC_ARCH_AMD64)
  |  | 2730|       |#  define ACC_OPT_AVOID_INT_INDEX           1
  |  | 2731|       |#  define ACC_OPT_AVOID_UINT_INDEX          1
  |  | 2732|       |#  ifndef ACC_OPT_UNALIGNED16
  |  | 2733|       |#  define ACC_OPT_UNALIGNED16               1
  |  | 2734|       |#  endif
  |  | 2735|       |#  ifndef ACC_OPT_UNALIGNED32
  |  | 2736|       |#  define ACC_OPT_UNALIGNED32               1
  |  | 2737|       |#  endif
  |  | 2738|       |#  ifndef ACC_OPT_UNALIGNED64
  |  | 2739|       |#  define ACC_OPT_UNALIGNED64               1
  |  | 2740|       |#  endif
  |  | 2741|       |#elif (ACC_ARCH_ARM)
  |  | 2742|       |#  if defined(__ARM_FEATURE_UNALIGNED) && (__ARM_FEATURE_UNALIGNED+0)
  |  | 2743|       |#    ifndef ACC_OPT_UNALIGNED16
  |  | 2744|       |#    define ACC_OPT_UNALIGNED16             1
  |  | 2745|       |#    endif
  |  | 2746|       |#    ifndef ACC_OPT_UNALIGNED32
  |  | 2747|       |#    define ACC_OPT_UNALIGNED32             1
  |  | 2748|       |#    endif
  |  | 2749|       |#  elif defined(__TARGET_FEATURE_UNALIGNED) && (__TARGET_FEATURE_UNALIGNED+0)
  |  | 2750|       |#    ifndef ACC_OPT_UNALIGNED16
  |  | 2751|       |#    define ACC_OPT_UNALIGNED16             1
  |  | 2752|       |#    endif
  |  | 2753|       |#    ifndef ACC_OPT_UNALIGNED32
  |  | 2754|       |#    define ACC_OPT_UNALIGNED32             1
  |  | 2755|       |#    endif
  |  | 2756|       |#  elif 1 && defined(_MSC_VER) && defined(_M_ARM) && ((_M_ARM)+0 >= 7)
  |  | 2757|       |#    ifndef ACC_OPT_UNALIGNED16
  |  | 2758|       |#    define ACC_OPT_UNALIGNED16             1
  |  | 2759|       |#    endif
  |  | 2760|       |#    ifndef ACC_OPT_UNALIGNED32
  |  | 2761|       |#    define ACC_OPT_UNALIGNED32             1
  |  | 2762|       |#    endif
  |  | 2763|       |#  endif
  |  | 2764|       |#elif (ACC_ARCH_ARM64)
  |  | 2765|       |#  ifndef ACC_OPT_UNALIGNED16
  |  | 2766|       |#  define ACC_OPT_UNALIGNED16               1
  |  | 2767|       |#  endif
  |  | 2768|       |#  ifndef ACC_OPT_UNALIGNED32
  |  | 2769|       |#  define ACC_OPT_UNALIGNED32               1
  |  | 2770|       |#  endif
  |  | 2771|       |#  ifndef ACC_OPT_UNALIGNED64
  |  | 2772|       |#  define ACC_OPT_UNALIGNED64               1
  |  | 2773|       |#  endif
  |  | 2774|       |#elif (ACC_ARCH_CRIS)
  |  | 2775|       |#  ifndef ACC_OPT_UNALIGNED16
  |  | 2776|       |#  define ACC_OPT_UNALIGNED16               1
  |  | 2777|       |#  endif
  |  | 2778|       |#  ifndef ACC_OPT_UNALIGNED32
  |  | 2779|       |#  define ACC_OPT_UNALIGNED32               1
  |  | 2780|       |#  endif
  |  | 2781|       |#elif (ACC_ARCH_I386)
  |  | 2782|       |#  ifndef ACC_OPT_UNALIGNED16
  |  | 2783|       |#  define ACC_OPT_UNALIGNED16               1
  |  | 2784|       |#  endif
  |  | 2785|       |#  ifndef ACC_OPT_UNALIGNED32
  |  | 2786|       |#  define ACC_OPT_UNALIGNED32               1
  |  | 2787|       |#  endif
  |  | 2788|       |#elif (ACC_ARCH_IA64)
  |  | 2789|       |#  define ACC_OPT_AVOID_INT_INDEX           1
  |  | 2790|       |#  define ACC_OPT_AVOID_UINT_INDEX          1
  |  | 2791|       |#  define ACC_OPT_PREFER_POSTINC            1
  |  | 2792|       |#elif (ACC_ARCH_M68K)
  |  | 2793|       |#  define ACC_OPT_PREFER_POSTINC            1
  |  | 2794|       |#  define ACC_OPT_PREFER_PREDEC             1
  |  | 2795|       |#  if defined(__mc68020__) && !defined(__mcoldfire__)
  |  | 2796|       |#    ifndef ACC_OPT_UNALIGNED16
  |  | 2797|       |#    define ACC_OPT_UNALIGNED16             1
  |  | 2798|       |#    endif
  |  | 2799|       |#    ifndef ACC_OPT_UNALIGNED32
  |  | 2800|       |#    define ACC_OPT_UNALIGNED32             1
  |  | 2801|       |#    endif
  |  | 2802|       |#  endif
  |  | 2803|       |#elif (ACC_ARCH_MIPS)
  |  | 2804|       |#  define ACC_OPT_AVOID_UINT_INDEX          1
  |  | 2805|       |#elif (ACC_ARCH_POWERPC)
  |  | 2806|       |#  define ACC_OPT_PREFER_PREINC             1
  |  | 2807|       |#  define ACC_OPT_PREFER_PREDEC             1
  |  | 2808|       |#  if (ACC_WORDSIZE == 8) || (ACC_ABI_BIG_ENDIAN)
  |  | 2809|       |#    ifndef ACC_OPT_UNALIGNED16
  |  | 2810|       |#    define ACC_OPT_UNALIGNED16             1
  |  | 2811|       |#    endif
  |  | 2812|       |#    ifndef ACC_OPT_UNALIGNED32
  |  | 2813|       |#    define ACC_OPT_UNALIGNED32             1
  |  | 2814|       |#    endif
  |  | 2815|       |#  endif
  |  | 2816|       |#  if (ACC_WORDSIZE == 8)
  |  | 2817|       |#    ifndef ACC_OPT_UNALIGNED64
  |  | 2818|       |#    define ACC_OPT_UNALIGNED64             1
  |  | 2819|       |#    endif
  |  | 2820|       |#  endif
  |  | 2821|       |#elif (ACC_ARCH_RISCV)
  |  | 2822|       |#  define ACC_OPT_AVOID_UINT_INDEX          1
  |  | 2823|       |#elif (ACC_ARCH_S390)
  |  | 2824|       |#  ifndef ACC_OPT_UNALIGNED16
  |  | 2825|       |#  define ACC_OPT_UNALIGNED16               1
  |  | 2826|       |#  endif
  |  | 2827|       |#  ifndef ACC_OPT_UNALIGNED32
  |  | 2828|       |#  define ACC_OPT_UNALIGNED32               1
  |  | 2829|       |#  endif
  |  | 2830|       |#  if (ACC_WORDSIZE == 8)
  |  | 2831|       |#    ifndef ACC_OPT_UNALIGNED64
  |  | 2832|       |#    define ACC_OPT_UNALIGNED64             1
  |  | 2833|       |#    endif
  |  | 2834|       |#  endif
  |  | 2835|       |#elif (ACC_ARCH_SH)
  |  | 2836|       |#  define ACC_OPT_PREFER_POSTINC            1
  |  | 2837|       |#  define ACC_OPT_PREFER_PREDEC             1
  |  | 2838|       |#endif
  |  | 2839|       |#ifndef ACC_CFG_NO_INLINE_ASM
  |  | 2840|       |#if (ACC_ABI_NEUTRAL_ENDIAN) || (ACC_ARCH_GENERIC)
  |  | 2841|       |#  define ACC_CFG_NO_INLINE_ASM 1
  |  | 2842|       |#elif (ACC_CC_LLVM)
  |  | 2843|       |#  define ACC_CFG_NO_INLINE_ASM 1
  |  | 2844|       |#endif
  |  | 2845|       |#endif
  |  | 2846|       |#if (ACC_CFG_NO_INLINE_ASM)
  |  | 2847|       |#  undef ACC_ASM_SYNTAX_MSC
  |  | 2848|       |#  undef ACC_ASM_SYNTAX_GNUC
  |  | 2849|       |#  undef __ACC_ASM_CLOBBER
  |  | 2850|       |#  undef __ACC_ASM_CLOBBER_LIST_CC
  |  | 2851|       |#  undef __ACC_ASM_CLOBBER_LIST_CC_MEMORY
  |  | 2852|       |#  undef __ACC_ASM_CLOBBER_LIST_EMPTY
  |  | 2853|       |#endif
  |  | 2854|       |#ifndef ACC_CFG_NO_UNALIGNED
  |  | 2855|       |#if (ACC_ABI_NEUTRAL_ENDIAN) || (ACC_ARCH_GENERIC)
  |  | 2856|       |#  define ACC_CFG_NO_UNALIGNED 1
  |  | 2857|       |#endif
  |  | 2858|       |#endif
  |  | 2859|       |#if (ACC_CFG_NO_UNALIGNED)
  |  | 2860|       |#  undef ACC_OPT_UNALIGNED16
  |  | 2861|       |#  undef ACC_OPT_UNALIGNED32
  |  | 2862|       |#  undef ACC_OPT_UNALIGNED64
  |  | 2863|       |#endif
  |  | 2864|       |#if defined(__ACC_INFOSTR_MM)
  |  | 2865|       |#elif (ACC_MM_FLAT) && (defined(__ACC_INFOSTR_PM) || defined(ACC_INFO_ABI_PM))
  |  | 2866|       |#  define __ACC_INFOSTR_MM          ""
  |  | 2867|       |#elif defined(ACC_INFO_MM)
  |  | 2868|       |#  define __ACC_INFOSTR_MM          "." ACC_INFO_MM
  |  | 2869|       |#else
  |  | 2870|       |#  define __ACC_INFOSTR_MM          ""
  |  | 2871|       |#endif
  |  | 2872|       |#if defined(__ACC_INFOSTR_PM)
  |  | 2873|       |#elif defined(ACC_INFO_ABI_PM)
  |  | 2874|       |#  define __ACC_INFOSTR_PM          "." ACC_INFO_ABI_PM
  |  | 2875|       |#else
  |  | 2876|       |#  define __ACC_INFOSTR_PM          ""
  |  | 2877|       |#endif
  |  | 2878|       |#if defined(__ACC_INFOSTR_ENDIAN)
  |  | 2879|       |#elif defined(ACC_INFO_ABI_ENDIAN)
  |  | 2880|       |#  define __ACC_INFOSTR_ENDIAN      "." ACC_INFO_ABI_ENDIAN
  |  | 2881|       |#else
  |  | 2882|       |#  define __ACC_INFOSTR_ENDIAN      ""
  |  | 2883|       |#endif
  |  | 2884|       |#if defined(__ACC_INFOSTR_OSNAME)
  |  | 2885|       |#elif defined(ACC_INFO_OS_CONSOLE)
  |  | 2886|       |#  define __ACC_INFOSTR_OSNAME      ACC_INFO_OS "." ACC_INFO_OS_CONSOLE
  |  | 2887|       |#elif defined(ACC_INFO_OS_POSIX)
  |  | 2888|       |#  define __ACC_INFOSTR_OSNAME      ACC_INFO_OS "." ACC_INFO_OS_POSIX
  |  | 2889|       |#else
  |  | 2890|       |#  define __ACC_INFOSTR_OSNAME      ACC_INFO_OS
  |  | 2891|       |#endif
  |  | 2892|       |#if defined(__ACC_INFOSTR_LIBC)
  |  | 2893|       |#elif defined(ACC_INFO_LIBC)
  |  | 2894|       |#  define __ACC_INFOSTR_LIBC        "." ACC_INFO_LIBC
  |  | 2895|       |#else
  |  | 2896|       |#  define __ACC_INFOSTR_LIBC        ""
  |  | 2897|       |#endif
  |  | 2898|       |#if defined(__ACC_INFOSTR_CCVER)
  |  | 2899|       |#elif defined(ACC_INFO_CCVER)
  |  | 2900|       |#  define __ACC_INFOSTR_CCVER       " " ACC_INFO_CCVER
  |  | 2901|       |#else
  |  | 2902|       |#  define __ACC_INFOSTR_CCVER       ""
  |  | 2903|       |#endif
  |  | 2904|       |#define ACC_INFO_STRING \
  |  | 2905|       |    ACC_INFO_ARCH __ACC_INFOSTR_MM __ACC_INFOSTR_PM __ACC_INFOSTR_ENDIAN \
  |  | 2906|       |    " " __ACC_INFOSTR_OSNAME __ACC_INFOSTR_LIBC " " ACC_INFO_CC __ACC_INFOSTR_CCVER
  |  | 2907|       |#if !(ACC_CFG_SKIP_ACC_TYPES)
  |  | 2908|       |#if (!(ACC_SIZEOF_SHORT+0 > 0 && ACC_SIZEOF_INT+0 > 0 && ACC_SIZEOF_LONG+0 > 0))
  |  | 2909|       |#  error "missing defines for sizes"
  |  | 2910|       |#endif
  |  | 2911|       |#if (!(ACC_SIZEOF_PTRDIFF_T+0 > 0 && ACC_SIZEOF_SIZE_T+0 > 0 && ACC_SIZEOF_VOID_P+0 > 0))
  |  | 2912|       |#  error "missing defines for sizes"
  |  | 2913|       |#endif
  |  | 2914|       |#define ACC_TYPEOF_CHAR             1u
  |  | 2915|       |#define ACC_TYPEOF_SHORT            2u
  |  | 2916|       |#define ACC_TYPEOF_INT              3u
  |  | 2917|       |#define ACC_TYPEOF_LONG             4u
  |  | 2918|       |#define ACC_TYPEOF_LONG_LONG        5u
  |  | 2919|       |#define ACC_TYPEOF___INT8           17u
  |  | 2920|       |#define ACC_TYPEOF___INT16          18u
  |  | 2921|       |#define ACC_TYPEOF___INT32          19u
  |  | 2922|       |#define ACC_TYPEOF___INT64          20u
  |  | 2923|       |#define ACC_TYPEOF___INT128         21u
  |  | 2924|       |#define ACC_TYPEOF___INT256         22u
  |  | 2925|       |#define ACC_TYPEOF___MODE_QI        33u
  |  | 2926|       |#define ACC_TYPEOF___MODE_HI        34u
  |  | 2927|       |#define ACC_TYPEOF___MODE_SI        35u
  |  | 2928|       |#define ACC_TYPEOF___MODE_DI        36u
  |  | 2929|       |#define ACC_TYPEOF___MODE_TI        37u
  |  | 2930|       |#define ACC_TYPEOF_CHAR_P           129u
  |  | 2931|       |#if !defined(acc_llong_t)
  |  | 2932|       |#if (ACC_SIZEOF_LONG_LONG+0 > 0)
  |  | 2933|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 2934|       |   __acc_gnuc_extension__ typedef long long acc_llong_t__;
  |  | 2935|       |   __acc_gnuc_extension__ typedef unsigned long long acc_ullong_t__;
  |  | 2936|       |#  endif
  |  | 2937|       |#  define acc_llong_t               acc_llong_t__
  |  | 2938|       |#  define acc_ullong_t              acc_ullong_t__
  |  | 2939|       |#endif
  |  | 2940|       |#endif
  |  | 2941|       |#if !defined(acc_int16e_t)
  |  | 2942|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT) && (ACC_SIZEOF_SHORT != 2)
  |  | 2943|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T
  |  | 2944|       |#endif
  |  | 2945|       |#if (ACC_SIZEOF_LONG == 2) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT)
  |  | 2946|       |#  define acc_int16e_t              long
  |  | 2947|       |#  define acc_uint16e_t             unsigned long
  |  | 2948|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF_LONG
  |  | 2949|       |#elif (ACC_SIZEOF_INT == 2) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT)
  |  | 2950|       |#  define acc_int16e_t              int
  |  | 2951|       |#  define acc_uint16e_t             unsigned int
  |  | 2952|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF_INT
  |  | 2953|       |#elif (ACC_SIZEOF_SHORT == 2)
  |  | 2954|       |#  define acc_int16e_t              short int
  |  | 2955|       |#  define acc_uint16e_t             unsigned short int
  |  | 2956|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF_SHORT
  |  | 2957|       |#elif 1 && !(ACC_CFG_TYPE_NO_MODE_HI) && (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x025f00ul) || ACC_CC_LLVM)
  |  | 2958|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 2959|       |   typedef int acc_int16e_hi_t__ __attribute__((__mode__(__HI__)));
  |  | 2960|       |   typedef unsigned int acc_uint16e_hi_t__ __attribute__((__mode__(__HI__)));
  |  | 2961|       |#  endif
  |  | 2962|       |#  define acc_int16e_t              acc_int16e_hi_t__
  |  | 2963|       |#  define acc_uint16e_t             acc_uint16e_hi_t__
  |  | 2964|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF___MODE_HI
  |  | 2965|       |#elif (ACC_SIZEOF___INT16 == 2)
  |  | 2966|       |#  define acc_int16e_t              __int16
  |  | 2967|       |#  define acc_uint16e_t             unsigned __int16
  |  | 2968|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF___INT16
  |  | 2969|       |#else
  |  | 2970|       |#endif
  |  | 2971|       |#endif
  |  | 2972|       |#if defined(acc_int16e_t)
  |  | 2973|       |#  define ACC_SIZEOF_ACC_INT16E_T   2
  |  | 2974|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16e_t) == 2)
  |  | 2975|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16e_t) == ACC_SIZEOF_ACC_INT16E_T)
  |  | 2976|       |#endif
  |  | 2977|       |#if !defined(acc_int32e_t)
  |  | 2978|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T == ACC_TYPEOF_INT) && (ACC_SIZEOF_INT != 4)
  |  | 2979|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T
  |  | 2980|       |#endif
  |  | 2981|       |#if (ACC_SIZEOF_LONG == 4) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T == ACC_TYPEOF_INT)
  |  | 2982|       |#  define acc_int32e_t              long int
  |  | 2983|       |#  define acc_uint32e_t             unsigned long int
  |  | 2984|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_LONG
  |  | 2985|       |#elif (ACC_SIZEOF_INT == 4)
  |  | 2986|       |#  define acc_int32e_t              int
  |  | 2987|       |#  define acc_uint32e_t             unsigned int
  |  | 2988|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_INT
  |  | 2989|       |#elif (ACC_SIZEOF_SHORT == 4)
  |  | 2990|       |#  define acc_int32e_t              short int
  |  | 2991|       |#  define acc_uint32e_t             unsigned short int
  |  | 2992|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_SHORT
  |  | 2993|       |#elif (ACC_SIZEOF_LONG_LONG == 4)
  |  | 2994|       |#  define acc_int32e_t              acc_llong_t
  |  | 2995|       |#  define acc_uint32e_t             acc_ullong_t
  |  | 2996|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_LONG_LONG
  |  | 2997|       |#elif 1 && !(ACC_CFG_TYPE_NO_MODE_SI) && (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x025f00ul) || ACC_CC_LLVM) && (__INT_MAX__+0 > 2147483647L)
  |  | 2998|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 2999|       |   typedef int acc_int32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 3000|       |   typedef unsigned int acc_uint32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 3001|       |#  endif
  |  | 3002|       |#  define acc_int32e_t              acc_int32e_si_t__
  |  | 3003|       |#  define acc_uint32e_t             acc_uint32e_si_t__
  |  | 3004|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF___MODE_SI
  |  | 3005|       |#elif 1 && !(ACC_CFG_TYPE_NO_MODE_SI) && (ACC_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L)
  |  | 3006|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 3007|       |   typedef int acc_int32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 3008|       |   typedef unsigned int acc_uint32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 3009|       |#  endif
  |  | 3010|       |#  define acc_int32e_t              acc_int32e_si_t__
  |  | 3011|       |#  define acc_uint32e_t             acc_uint32e_si_t__
  |  | 3012|       |#  define ACC_INT32_C(c)            (c##LL)
  |  | 3013|       |#  define ACC_UINT32_C(c)           (c##ULL)
  |  | 3014|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF___MODE_SI
  |  | 3015|       |#elif (ACC_SIZEOF___INT32 == 4)
  |  | 3016|       |#  define acc_int32e_t              __int32
  |  | 3017|       |#  define acc_uint32e_t             unsigned __int32
  |  | 3018|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF___INT32
  |  | 3019|       |#else
  |  | 3020|       |#endif
  |  | 3021|       |#endif
  |  | 3022|       |#if defined(acc_int32e_t)
  |  | 3023|       |#  define ACC_SIZEOF_ACC_INT32E_T   4
  |  | 3024|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32e_t) == 4)
  |  | 3025|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32e_t) == ACC_SIZEOF_ACC_INT32E_T)
  |  | 3026|       |#endif
  |  | 3027|       |#if !defined(acc_int64e_t)
  |  | 3028|       |#if (ACC_SIZEOF___INT64 == 8)
  |  | 3029|       |#  if (ACC_CC_BORLANDC) && !defined(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T)
  |  | 3030|       |#    define ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T  ACC_TYPEOF___INT64
  |  | 3031|       |#  endif
  |  | 3032|       |#endif
  |  | 3033|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF_LONG_LONG) && (ACC_SIZEOF_LONG_LONG != 8)
  |  | 3034|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T
  |  | 3035|       |#endif
  |  | 3036|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64) && (ACC_SIZEOF___INT64 != 8)
  |  | 3037|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T
  |  | 3038|       |#endif
  |  | 3039|       |#if (ACC_SIZEOF_INT == 8) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
  |  | 3040|       |#  define acc_int64e_t              int
  |  | 3041|       |#  define acc_uint64e_t             unsigned int
  |  | 3042|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF_INT
  |  | 3043|       |#elif (ACC_SIZEOF_LONG == 8) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF_LONG_LONG) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64)
  |  | 3044|       |#  define acc_int64e_t              long int
  |  | 3045|       |#  define acc_uint64e_t             unsigned long int
  |  | 3046|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF_LONG
  |  | 3047|       |#elif (ACC_SIZEOF_LONG_LONG == 8) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64)
  |  | 3048|       |#  define acc_int64e_t              acc_llong_t
  |  | 3049|       |#  define acc_uint64e_t             acc_ullong_t
  |  | 3050|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF_LONG_LONG
  |  | 3051|       |#  if (ACC_CC_BORLANDC)
  |  | 3052|       |#    define ACC_INT64_C(c)          ((c) + 0ll)
  |  | 3053|       |#    define ACC_UINT64_C(c)         ((c) + 0ull)
  |  | 3054|       |#  elif 0
  |  | 3055|       |#    define ACC_INT64_C(c)          (__acc_gnuc_extension__ (c##LL))
  |  | 3056|       |#    define ACC_UINT64_C(c)         (__acc_gnuc_extension__ (c##ULL))
  |  | 3057|       |#  else
  |  | 3058|       |#    define ACC_INT64_C(c)          (c##LL)
  |  | 3059|       |#    define ACC_UINT64_C(c)         (c##ULL)
  |  | 3060|       |#  endif
  |  | 3061|       |#elif (ACC_SIZEOF___INT64 == 8)
  |  | 3062|       |#  define acc_int64e_t              __int64
  |  | 3063|       |#  define acc_uint64e_t             unsigned __int64
  |  | 3064|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF___INT64
  |  | 3065|       |#  if (ACC_CC_BORLANDC)
  |  | 3066|       |#    define ACC_INT64_C(c)          ((c) + 0i64)
  |  | 3067|       |#    define ACC_UINT64_C(c)         ((c) + 0ui64)
  |  | 3068|       |#  else
  |  | 3069|       |#    define ACC_INT64_C(c)          (c##i64)
  |  | 3070|       |#    define ACC_UINT64_C(c)         (c##ui64)
  |  | 3071|       |#  endif
  |  | 3072|       |#else
  |  | 3073|       |#endif
  |  | 3074|       |#endif
  |  | 3075|       |#if defined(acc_int64e_t)
  |  | 3076|       |#  define ACC_SIZEOF_ACC_INT64E_T   8
  |  | 3077|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64e_t) == 8)
  |  | 3078|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64e_t) == ACC_SIZEOF_ACC_INT64E_T)
  |  | 3079|       |#endif
  |  | 3080|       |#if !defined(acc_int32l_t)
  |  | 3081|       |#if defined(acc_int32e_t)
  |  | 3082|       |#  define acc_int32l_t              acc_int32e_t
  |  | 3083|       |#  define acc_uint32l_t             acc_uint32e_t
  |  | 3084|       |#  define ACC_SIZEOF_ACC_INT32L_T   ACC_SIZEOF_ACC_INT32E_T
  |  | 3085|       |#  define ACC_TYPEOF_ACC_INT32L_T   ACC_TYPEOF_ACC_INT32E_T
  |  | 3086|       |#elif (ACC_SIZEOF_INT >= 4) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
  |  | 3087|       |#  define acc_int32l_t              int
  |  | 3088|       |#  define acc_uint32l_t             unsigned int
  |  | 3089|       |#  define ACC_SIZEOF_ACC_INT32L_T   ACC_SIZEOF_INT
  |  | 3090|       |#  define ACC_TYPEOF_ACC_INT32L_T   ACC_SIZEOF_INT
  |  | 3091|       |#elif (ACC_SIZEOF_LONG >= 4)
  |  | 3092|       |#  define acc_int32l_t              long int
  |  | 3093|       |#  define acc_uint32l_t             unsigned long int
  |  | 3094|       |#  define ACC_SIZEOF_ACC_INT32L_T   ACC_SIZEOF_LONG
  |  | 3095|       |#  define ACC_TYPEOF_ACC_INT32L_T   ACC_SIZEOF_LONG
  |  | 3096|       |#else
  |  | 3097|       |#  error "acc_int32l_t"
  |  | 3098|       |#endif
  |  | 3099|       |#endif
  |  | 3100|       |#if 1
  |  | 3101|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32l_t) >= 4)
  |  | 3102|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32l_t) == ACC_SIZEOF_ACC_INT32L_T)
  |  | 3103|       |#endif
  |  | 3104|       |#if !defined(acc_int64l_t)
  |  | 3105|       |#if defined(acc_int64e_t)
  |  | 3106|       |#  define acc_int64l_t              acc_int64e_t
  |  | 3107|       |#  define acc_uint64l_t             acc_uint64e_t
  |  | 3108|       |#  define ACC_SIZEOF_ACC_INT64L_T   ACC_SIZEOF_ACC_INT64E_T
  |  | 3109|       |#  define ACC_TYPEOF_ACC_INT64L_T   ACC_TYPEOF_ACC_INT64E_T
  |  | 3110|       |#else
  |  | 3111|       |#endif
  |  | 3112|       |#endif
  |  | 3113|       |#if defined(acc_int64l_t)
  |  | 3114|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64l_t) >= 8)
  |  | 3115|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64l_t) == ACC_SIZEOF_ACC_INT64L_T)
  |  | 3116|       |#endif
  |  | 3117|       |#if !defined(acc_int32f_t)
  |  | 3118|       |#if (ACC_SIZEOF_SIZE_T >= 8)
  |  | 3119|       |#  define acc_int32f_t              acc_int64l_t
  |  | 3120|       |#  define acc_uint32f_t             acc_uint64l_t
  |  | 3121|       |#  define ACC_SIZEOF_ACC_INT32F_T   ACC_SIZEOF_ACC_INT64L_T
  |  | 3122|       |#  define ACC_TYPEOF_ACC_INT32F_T   ACC_TYPEOF_ACC_INT64L_T
  |  | 3123|       |#else
  |  | 3124|       |#  define acc_int32f_t              acc_int32l_t
  |  | 3125|       |#  define acc_uint32f_t             acc_uint32l_t
  |  | 3126|       |#  define ACC_SIZEOF_ACC_INT32F_T   ACC_SIZEOF_ACC_INT32L_T
  |  | 3127|       |#  define ACC_TYPEOF_ACC_INT32F_T   ACC_TYPEOF_ACC_INT32L_T
  |  | 3128|       |#endif
  |  | 3129|       |#endif
  |  | 3130|       |#if 1
  |  | 3131|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32f_t) >= 4)
  |  | 3132|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32f_t) == ACC_SIZEOF_ACC_INT32F_T)
  |  | 3133|       |#endif
  |  | 3134|       |#if !defined(acc_int64f_t)
  |  | 3135|       |#if defined(acc_int64l_t)
  |  | 3136|       |#  define acc_int64f_t              acc_int64l_t
  |  | 3137|       |#  define acc_uint64f_t             acc_uint64l_t
  |  | 3138|       |#  define ACC_SIZEOF_ACC_INT64F_T   ACC_SIZEOF_ACC_INT64L_T
  |  | 3139|       |#  define ACC_TYPEOF_ACC_INT64F_T   ACC_TYPEOF_ACC_INT64L_T
  |  | 3140|       |#else
  |  | 3141|       |#endif
  |  | 3142|       |#endif
  |  | 3143|       |#if defined(acc_int64f_t)
  |  | 3144|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64f_t) >= 8)
  |  | 3145|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64f_t) == ACC_SIZEOF_ACC_INT64F_T)
  |  | 3146|       |#endif
  |  | 3147|       |#if !defined(acc_intptr_t)
  |  | 3148|       |#if defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__)
  |  | 3149|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 3150|       |   typedef __INTPTR_TYPE__          acc_intptr_t;
  |  | 3151|       |   typedef __UINTPTR_TYPE__         acc_uintptr_t;
  |  | 3152|       |#  endif
  |  | 3153|       |#  define acc_intptr_t              acc_intptr_t
  |  | 3154|       |#  define acc_uintptr_t             acc_uintptr_t
  |  | 3155|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_VOID_P
  |  | 3156|       |#elif 1 && (ACC_OS_OS400 && (ACC_SIZEOF_VOID_P == 16))
  |  | 3157|       |#  define __ACC_INTPTR_T_IS_POINTER 1
  |  | 3158|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 3159|       |   typedef char *                   acc_intptr_t;
  |  | 3160|       |   typedef char *                   acc_uintptr_t;
  |  | 3161|       |#  endif
  |  | 3162|       |#  define acc_intptr_t              acc_intptr_t
  |  | 3163|       |#  define acc_uintptr_t             acc_uintptr_t
  |  | 3164|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_VOID_P
  |  | 3165|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_CHAR_P
  |  | 3166|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1300) && (ACC_SIZEOF_VOID_P == 4) && (ACC_SIZEOF_INT == 4))
  |  | 3167|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 3168|       |   typedef __w64 int                acc_intptr_t;
  |  | 3169|       |   typedef __w64 unsigned int       acc_uintptr_t;
  |  | 3170|       |#  endif
  |  | 3171|       |#  define acc_intptr_t              acc_intptr_t
  |  | 3172|       |#  define acc_uintptr_t             acc_uintptr_t
  |  | 3173|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_INT
  |  | 3174|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_INT
  |  | 3175|       |#elif (ACC_SIZEOF_SHORT == ACC_SIZEOF_VOID_P) && (ACC_SIZEOF_INT > ACC_SIZEOF_VOID_P)
  |  | 3176|       |#  define acc_intptr_t              short
  |  | 3177|       |#  define acc_uintptr_t             unsigned short
  |  | 3178|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_SHORT
  |  | 3179|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_SHORT
  |  | 3180|       |#elif (ACC_SIZEOF_INT >= ACC_SIZEOF_VOID_P) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
  |  | 3181|       |#  define acc_intptr_t              int
  |  | 3182|       |#  define acc_uintptr_t             unsigned int
  |  | 3183|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_INT
  |  | 3184|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_INT
  |  | 3185|       |#elif (ACC_SIZEOF_LONG >= ACC_SIZEOF_VOID_P)
  |  | 3186|       |#  define acc_intptr_t              long
  |  | 3187|       |#  define acc_uintptr_t             unsigned long
  |  | 3188|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_LONG
  |  | 3189|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_LONG
  |  | 3190|       |#elif (ACC_SIZEOF_ACC_INT64L_T >= ACC_SIZEOF_VOID_P)
  |  | 3191|       |#  define acc_intptr_t              acc_int64l_t
  |  | 3192|       |#  define acc_uintptr_t             acc_uint64l_t
  |  | 3193|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_ACC_INT64L_T
  |  | 3194|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_ACC_INT64L_T
  |  | 3195|       |#else
  |  | 3196|       |#  error "acc_intptr_t"
  |  | 3197|       |#endif
  |  | 3198|       |#endif
  |  | 3199|       |#if 1
  |  | 3200|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_intptr_t) >= sizeof(void *))
  |  | 3201|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_intptr_t) == sizeof(acc_uintptr_t))
  |  | 3202|       |#endif
  |  | 3203|       |#if !defined(acc_word_t)
  |  | 3204|       |#if defined(ACC_WORDSIZE) && (ACC_WORDSIZE+0 > 0)
  |  | 3205|       |#if (ACC_WORDSIZE == ACC_SIZEOF_ACC_INTPTR_T) && !(__ACC_INTPTR_T_IS_POINTER)
  |  | 3206|       |#  define acc_word_t                acc_uintptr_t
  |  | 3207|       |#  define acc_sword_t               acc_intptr_t
  |  | 3208|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_ACC_INTPTR_T
  |  | 3209|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_ACC_INTPTR_T
  |  | 3210|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_LONG)
  |  | 3211|       |#  define acc_word_t                unsigned long
  |  | 3212|       |#  define acc_sword_t               long
  |  | 3213|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_LONG
  |  | 3214|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_LONG
  |  | 3215|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_INT)
  |  | 3216|       |#  define acc_word_t                unsigned int
  |  | 3217|       |#  define acc_sword_t               int
  |  | 3218|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_INT
  |  | 3219|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_INT
  |  | 3220|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_SHORT)
  |  | 3221|       |#  define acc_word_t                unsigned short
  |  | 3222|       |#  define acc_sword_t               short
  |  | 3223|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_SHORT
  |  | 3224|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_SHORT
  |  | 3225|       |#elif (ACC_WORDSIZE == 1)
  |  | 3226|       |#  define acc_word_t                unsigned char
  |  | 3227|       |#  define acc_sword_t               signed char
  |  | 3228|       |#  define ACC_SIZEOF_ACC_WORD_T     1
  |  | 3229|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_CHAR
  |  | 3230|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_ACC_INT64L_T)
  |  | 3231|       |#  define acc_word_t                acc_uint64l_t
  |  | 3232|       |#  define acc_sword_t               acc_int64l_t
  |  | 3233|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_ACC_INT64L_T
  |  | 3234|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_SIZEOF_ACC_INT64L_T
  |  | 3235|       |#elif (ACC_ARCH_SPU) && (ACC_CC_GNUC)
  |  | 3236|       |#if 0
  |  | 3237|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 3238|       |   typedef unsigned acc_word_t  __attribute__((__mode__(__V16QI__)));
  |  | 3239|       |   typedef int      acc_sword_t __attribute__((__mode__(__V16QI__)));
  |  | 3240|       |#  endif
  |  | 3241|       |#  define acc_word_t                acc_word_t
  |  | 3242|       |#  define acc_sword_t               acc_sword_t
  |  | 3243|       |#  define ACC_SIZEOF_ACC_WORD_T     16
  |  | 3244|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF___MODE_V16QI
  |  | 3245|       |#endif
  |  | 3246|       |#else
  |  | 3247|       |#  error "acc_word_t"
  |  | 3248|       |#endif
  |  | 3249|       |#endif
  |  | 3250|       |#endif
  |  | 3251|       |#if 1 && defined(acc_word_t)
  |  | 3252|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_word_t)  == ACC_WORDSIZE)
  |  | 3253|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_sword_t) == ACC_WORDSIZE)
  |  | 3254|       |#endif
  |  | 3255|       |#if 1
  |  | 3256|       |#define acc_int8_t                  signed char
  |  | 3257|       |#define acc_uint8_t                 unsigned char
  |  | 3258|       |#define ACC_SIZEOF_ACC_INT8_T       1
  |  | 3259|       |#define ACC_TYPEOF_ACC_INT8_T       ACC_TYPEOF_CHAR
  |  | 3260|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int8_t) == 1)
  |  | 3261|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int8_t) == sizeof(acc_uint8_t))
  |  | 3262|       |#endif
  |  | 3263|       |#if defined(acc_int16e_t)
  |  | 3264|       |#define acc_int16_t                 acc_int16e_t
  |  | 3265|       |#define acc_uint16_t                acc_uint16e_t
  |  | 3266|       |#define ACC_SIZEOF_ACC_INT16_T      ACC_SIZEOF_ACC_INT16E_T
  |  | 3267|       |#define ACC_TYPEOF_ACC_INT16_T      ACC_TYPEOF_ACC_INT16E_T
  |  | 3268|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16_t) == 2)
  |  | 3269|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16_t) == sizeof(acc_uint16_t))
  |  | 3270|       |#endif
  |  | 3271|       |#if defined(acc_int32e_t)
  |  | 3272|       |#define acc_int32_t                 acc_int32e_t
  |  | 3273|       |#define acc_uint32_t                acc_uint32e_t
  |  | 3274|       |#define ACC_SIZEOF_ACC_INT32_T      ACC_SIZEOF_ACC_INT32E_T
  |  | 3275|       |#define ACC_TYPEOF_ACC_INT32_T      ACC_TYPEOF_ACC_INT32E_T
  |  | 3276|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32_t) == 4)
  |  | 3277|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32_t) == sizeof(acc_uint32_t))
  |  | 3278|       |#endif
  |  | 3279|       |#if defined(acc_int64e_t)
  |  | 3280|       |#define acc_int64_t                 acc_int64e_t
  |  | 3281|       |#define acc_uint64_t                acc_uint64e_t
  |  | 3282|       |#define ACC_SIZEOF_ACC_INT64_T      ACC_SIZEOF_ACC_INT64E_T
  |  | 3283|       |#define ACC_TYPEOF_ACC_INT64_T      ACC_TYPEOF_ACC_INT64E_T
  |  | 3284|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64_t) == 8)
  |  | 3285|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64_t) == sizeof(acc_uint64_t))
  |  | 3286|       |#endif
  |  | 3287|       |#if 1
  |  | 3288|       |#define acc_int_least32_t           acc_int32l_t
  |  | 3289|       |#define acc_uint_least32_t          acc_uint32l_t
  |  | 3290|       |#define ACC_SIZEOF_ACC_INT_LEAST32_T ACC_SIZEOF_ACC_INT32L_T
  |  | 3291|       |#define ACC_TYPEOF_ACC_INT_LEAST32_T ACC_TYPEOF_ACC_INT32L_T
  |  | 3292|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least32_t) >= 4)
  |  | 3293|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least32_t) == sizeof(acc_uint_least32_t))
  |  | 3294|       |#endif
  |  | 3295|       |#if defined(acc_int64l_t)
  |  | 3296|       |#define acc_int_least64_t           acc_int64l_t
  |  | 3297|       |#define acc_uint_least64_t          acc_uint64l_t
  |  | 3298|       |#define ACC_SIZEOF_ACC_INT_LEAST64_T ACC_SIZEOF_ACC_INT64L_T
  |  | 3299|       |#define ACC_TYPEOF_ACC_INT_LEAST64_T ACC_TYPEOF_ACC_INT64L_T
  |  | 3300|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least64_t) >= 8)
  |  | 3301|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least64_t) == sizeof(acc_uint_least64_t))
  |  | 3302|       |#endif
  |  | 3303|       |#if 1
  |  | 3304|       |#define acc_int_fast32_t           acc_int32f_t
  |  | 3305|       |#define acc_uint_fast32_t          acc_uint32f_t
  |  | 3306|       |#define ACC_SIZEOF_ACC_INT_FAST32_T ACC_SIZEOF_ACC_INT32F_T
  |  | 3307|       |#define ACC_TYPEOF_ACC_INT_FAST32_T ACC_TYPEOF_ACC_INT32F_T
  |  | 3308|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast32_t) >= 4)
  |  | 3309|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast32_t) == sizeof(acc_uint_fast32_t))
  |  | 3310|       |#endif
  |  | 3311|       |#if defined(acc_int64f_t)
  |  | 3312|       |#define acc_int_fast64_t           acc_int64f_t
  |  | 3313|       |#define acc_uint_fast64_t          acc_uint64f_t
  |  | 3314|       |#define ACC_SIZEOF_ACC_INT_FAST64_T ACC_SIZEOF_ACC_INT64F_T
  |  | 3315|       |#define ACC_TYPEOF_ACC_INT_FAST64_T ACC_TYPEOF_ACC_INT64F_T
  |  | 3316|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast64_t) >= 8)
  |  | 3317|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast64_t) == sizeof(acc_uint_fast64_t))
  |  | 3318|       |#endif
  |  | 3319|       |#if !defined(ACC_INT16_C)
  |  | 3320|       |#  if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 2)
  |  | 3321|       |#    define ACC_INT16_C(c)          ((c) + 0)
  |  | 3322|       |#    define ACC_UINT16_C(c)         ((c) + 0U)
  |  | 3323|       |#  elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 2)
  |  | 3324|       |#    define ACC_INT16_C(c)          ((c) + 0L)
  |  | 3325|       |#    define ACC_UINT16_C(c)         ((c) + 0UL)
  |  | 3326|       |#  elif (ACC_SIZEOF_INT >= 2)
  |  | 3327|       |#    define ACC_INT16_C(c)          (c)
  |  | 3328|       |#    define ACC_UINT16_C(c)         (c##U)
  |  | 3329|       |#  elif (ACC_SIZEOF_LONG >= 2)
  |  | 3330|       |#    define ACC_INT16_C(c)          (c##L)
  |  | 3331|       |#    define ACC_UINT16_C(c)         (c##UL)
  |  | 3332|       |#  else
  |  | 3333|       |#    error "ACC_INT16_C"
  |  | 3334|       |#  endif
  |  | 3335|       |#endif
  |  | 3336|       |#if !defined(ACC_INT32_C)
  |  | 3337|       |#  if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 4)
  |  | 3338|       |#    define ACC_INT32_C(c)          ((c) + 0)
  |  | 3339|       |#    define ACC_UINT32_C(c)         ((c) + 0U)
  |  | 3340|       |#  elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 4)
  |  | 3341|       |#    define ACC_INT32_C(c)          ((c) + 0L)
  |  | 3342|       |#    define ACC_UINT32_C(c)         ((c) + 0UL)
  |  | 3343|       |#  elif (ACC_SIZEOF_INT >= 4)
  |  | 3344|       |#    define ACC_INT32_C(c)          (c)
  |  | 3345|       |#    define ACC_UINT32_C(c)         (c##U)
  |  | 3346|       |#  elif (ACC_SIZEOF_LONG >= 4)
  |  | 3347|       |#    define ACC_INT32_C(c)          (c##L)
  |  | 3348|       |#    define ACC_UINT32_C(c)         (c##UL)
  |  | 3349|       |#  elif (ACC_SIZEOF_LONG_LONG >= 4)
  |  | 3350|       |#    define ACC_INT32_C(c)          (c##LL)
  |  | 3351|       |#    define ACC_UINT32_C(c)         (c##ULL)
  |  | 3352|       |#  else
  |  | 3353|       |#    error "ACC_INT32_C"
  |  | 3354|       |#  endif
  |  | 3355|       |#endif
  |  | 3356|       |#if !defined(ACC_INT64_C) && defined(acc_int64l_t)
  |  | 3357|       |#  if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 8)
  |  | 3358|       |#    define ACC_INT64_C(c)          ((c) + 0)
  |  | 3359|       |#    define ACC_UINT64_C(c)         ((c) + 0U)
  |  | 3360|       |#  elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 8)
  |  | 3361|       |#    define ACC_INT64_C(c)          ((c) + 0L)
  |  | 3362|       |#    define ACC_UINT64_C(c)         ((c) + 0UL)
  |  | 3363|       |#  elif (ACC_SIZEOF_INT >= 8)
  |  | 3364|       |#    define ACC_INT64_C(c)          (c)
  |  | 3365|       |#    define ACC_UINT64_C(c)         (c##U)
  |  | 3366|       |#  elif (ACC_SIZEOF_LONG >= 8)
  |  | 3367|       |#    define ACC_INT64_C(c)          (c##L)
  |  | 3368|       |#    define ACC_UINT64_C(c)         (c##UL)
  |  | 3369|       |#  else
  |  | 3370|       |#    error "ACC_INT64_C"
  |  | 3371|       |#  endif
  |  | 3372|       |#endif
  |  | 3373|       |#endif
  |  | 3374|       |#if (ACC_CFG_NO_CONFIG_HEADER)
  |  | 3375|       |#elif defined(ACC_CFG_CONFIG_HEADER)
  |  | 3376|       |#else
  |  | 3377|       |#if !(ACC_CFG_AUTO_NO_HEADERS)
  |  | 3378|       |#if (ACC_LIBC_NAKED)
  |  | 3379|       |#elif (ACC_LIBC_FREESTANDING)
  |  | 3380|       |#  define HAVE_LIMITS_H 1
  |  | 3381|       |#  define HAVE_STDARG_H 1
  |  | 3382|       |#  define HAVE_STDDEF_H 1
  |  | 3383|       |#elif (ACC_LIBC_MOSTLY_FREESTANDING)
  |  | 3384|       |#  define HAVE_LIMITS_H 1
  |  | 3385|       |#  ifndef HAVE_SETJMP_H
  |  | 3386|       |#  define HAVE_SETJMP_H 1
  |  | 3387|       |#  endif
  |  | 3388|       |#  define HAVE_STDARG_H 1
  |  | 3389|       |#  define HAVE_STDDEF_H 1
  |  | 3390|       |#  define HAVE_STDIO_H 1
  |  | 3391|       |#  define HAVE_STRING_H 1
  |  | 3392|       |#else
  |  | 3393|       |#define STDC_HEADERS 1
  |  | 3394|       |#define HAVE_ASSERT_H 1
  |  | 3395|       |#define HAVE_CTYPE_H 1
  |  | 3396|       |#define HAVE_DIRENT_H 1
  |  | 3397|       |#define HAVE_ERRNO_H 1
  |  | 3398|       |#define HAVE_FCNTL_H 1
  |  | 3399|       |#define HAVE_FLOAT_H 1
  |  | 3400|       |#define HAVE_LIMITS_H 1
  |  | 3401|       |#define HAVE_MALLOC_H 1
  |  | 3402|       |#define HAVE_MEMORY_H 1
  |  | 3403|       |#ifndef HAVE_SETJMP_H
  |  | 3404|       |#define HAVE_SETJMP_H 1
  |  | 3405|       |#endif
  |  | 3406|       |#ifndef HAVE_SIGNAL_H
  |  | 3407|       |#define HAVE_SIGNAL_H 1
  |  | 3408|       |#endif
  |  | 3409|       |#define HAVE_STDARG_H 1
  |  | 3410|       |#define HAVE_STDDEF_H 1
  |  | 3411|       |#define HAVE_STDIO_H 1
  |  | 3412|       |#define HAVE_STDLIB_H 1
  |  | 3413|       |#define HAVE_STRING_H 1
  |  | 3414|       |#define HAVE_TIME_H 1
  |  | 3415|       |#define HAVE_UNISTD_H 1
  |  | 3416|       |#define HAVE_UTIME_H 1
  |  | 3417|       |#define HAVE_SYS_STAT_H 1
  |  | 3418|       |#define HAVE_SYS_TIME_H 1
  |  | 3419|       |#define HAVE_SYS_TYPES_H 1
  |  | 3420|       |#if (ACC_OS_POSIX)
  |  | 3421|       |#  if (ACC_OS_POSIX_AIX)
  |  | 3422|       |#    define HAVE_SYS_RESOURCE_H 1
  |  | 3423|       |#  elif (ACC_OS_POSIX_DARWIN || ACC_OS_POSIX_DRAGONFLY || ACC_OS_POSIX_FREEBSD || ACC_OS_POSIX_NETBSD || ACC_OS_POSIX_OPENBSD)
  |  | 3424|       |#    define HAVE_STRINGS_H 1
  |  | 3425|       |#    undef HAVE_MALLOC_H
  |  | 3426|       |#  elif (ACC_OS_POSIX_HPUX || ACC_OS_POSIX_INTERIX)
  |  | 3427|       |#    define HAVE_ALLOCA_H 1
  |  | 3428|       |#  elif (ACC_OS_POSIX_DARWIN && ACC_LIBC_MSL)
  |  | 3429|       |#    undef HAVE_SYS_TIME_H
  |  | 3430|       |#    undef HAVE_SYS_TYPES_H
  |  | 3431|       |#  elif (ACC_OS_POSIX_SOLARIS || ACC_OS_POSIX_SUNOS)
  |  | 3432|       |#    define HAVE_ALLOCA_H 1
  |  | 3433|       |#  endif
  |  | 3434|       |#  if (ACC_LIBC_DIETLIBC || ACC_LIBC_GLIBC || ACC_LIBC_UCLIBC)
  |  | 3435|       |#    define HAVE_STRINGS_H 1
  |  | 3436|       |#    define HAVE_SYS_MMAN_H 1
  |  | 3437|       |#    define HAVE_SYS_RESOURCE_H 1
  |  | 3438|       |#    define HAVE_SYS_WAIT_H 1
  |  | 3439|       |#  endif
  |  | 3440|       |#  if (ACC_LIBC_NEWLIB)
  |  | 3441|       |#    undef HAVE_STRINGS_H
  |  | 3442|       |#  endif
  |  | 3443|       |#elif (ACC_OS_CYGWIN)
  |  | 3444|       |#  define HAVE_IO_H 1
  |  | 3445|       |#elif (ACC_OS_EMX)
  |  | 3446|       |#  define HAVE_ALLOCA_H 1
  |  | 3447|       |#  define HAVE_IO_H 1
  |  | 3448|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC)
  |  | 3449|       |#  if !defined(__MINT__)
  |  | 3450|       |#    undef HAVE_MALLOC_H
  |  | 3451|       |#  endif
  |  | 3452|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
  |  | 3453|       |#  undef HAVE_DIRENT_H
  |  | 3454|       |#  undef HAVE_FCNTL_H
  |  | 3455|       |#  undef HAVE_MALLOC_H
  |  | 3456|       |#  undef HAVE_MEMORY_H
  |  | 3457|       |#  undef HAVE_UNISTD_H
  |  | 3458|       |#  undef HAVE_UTIME_H
  |  | 3459|       |#  undef HAVE_SYS_STAT_H
  |  | 3460|       |#  undef HAVE_SYS_TIME_H
  |  | 3461|       |#  undef HAVE_SYS_TYPES_H
  |  | 3462|       |#endif
  |  | 3463|       |#if (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 3464|       |#define HAVE_CONIO_H 1
  |  | 3465|       |#define HAVE_DIRECT_H 1
  |  | 3466|       |#define HAVE_DOS_H 1
  |  | 3467|       |#define HAVE_IO_H 1
  |  | 3468|       |#define HAVE_SHARE_H 1
  |  | 3469|       |#if (ACC_CC_AZTECC)
  |  | 3470|       |#  undef HAVE_CONIO_H
  |  | 3471|       |#  undef HAVE_DIRECT_H
  |  | 3472|       |#  undef HAVE_DIRENT_H
  |  | 3473|       |#  undef HAVE_MALLOC_H
  |  | 3474|       |#  undef HAVE_SHARE_H
  |  | 3475|       |#  undef HAVE_UNISTD_H
  |  | 3476|       |#  undef HAVE_UTIME_H
  |  | 3477|       |#  undef HAVE_SYS_STAT_H
  |  | 3478|       |#  undef HAVE_SYS_TIME_H
  |  | 3479|       |#  undef HAVE_SYS_TYPES_H
  |  | 3480|       |#elif (ACC_CC_BORLANDC)
  |  | 3481|       |#  undef HAVE_UNISTD_H
  |  | 3482|       |#  undef HAVE_SYS_TIME_H
  |  | 3483|       |#  if (ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 3484|       |#    undef HAVE_DIRENT_H
  |  | 3485|       |#  endif
  |  | 3486|       |#  if (__BORLANDC__ < 0x0400)
  |  | 3487|       |#    undef HAVE_DIRENT_H
  |  | 3488|       |#    undef HAVE_UTIME_H
  |  | 3489|       |#  endif
  |  | 3490|       |#elif (ACC_CC_DMC)
  |  | 3491|       |#  undef HAVE_DIRENT_H
  |  | 3492|       |#  undef HAVE_UNISTD_H
  |  | 3493|       |#  define HAVE_SYS_DIRENT_H 1
  |  | 3494|       |#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 3495|       |#elif (ACC_OS_DOS32 && ACC_CC_HIGHC)
  |  | 3496|       |#  define HAVE_ALLOCA_H 1
  |  | 3497|       |#  undef HAVE_DIRENT_H
  |  | 3498|       |#  undef HAVE_UNISTD_H
  |  | 3499|       |#elif (ACC_CC_IBMC && ACC_OS_OS2)
  |  | 3500|       |#  undef HAVE_DOS_H
  |  | 3501|       |#  undef HAVE_DIRENT_H
  |  | 3502|       |#  undef HAVE_UNISTD_H
  |  | 3503|       |#  undef HAVE_UTIME_H
  |  | 3504|       |#  undef HAVE_SYS_TIME_H
  |  | 3505|       |#  define HAVE_SYS_UTIME_H 1
  |  | 3506|       |#elif (ACC_CC_CLANG_C2 || ACC_CC_CLANG_MSC || ACC_CC_GHS || ACC_CC_INTELC_MSC || ACC_CC_MSC)
  |  | 3507|       |#  undef HAVE_DIRENT_H
  |  | 3508|       |#  undef HAVE_UNISTD_H
  |  | 3509|       |#  undef HAVE_UTIME_H
  |  | 3510|       |#  undef HAVE_SYS_TIME_H
  |  | 3511|       |#  define HAVE_SYS_UTIME_H 1
  |  | 3512|       |#elif (ACC_CC_LCCWIN32)
  |  | 3513|       |#  undef HAVE_DIRENT_H
  |  | 3514|       |#  undef HAVE_DOS_H
  |  | 3515|       |#  undef HAVE_UNISTD_H
  |  | 3516|       |#  undef HAVE_SYS_TIME_H
  |  | 3517|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__MINGW32__)
  |  | 3518|       |#  undef HAVE_UTIME_H
  |  | 3519|       |#  define HAVE_SYS_UTIME_H 1
  |  | 3520|       |#elif (ACC_OS_WIN32 && ACC_LIBC_MSL)
  |  | 3521|       |#  define HAVE_ALLOCA_H 1
  |  | 3522|       |#  undef HAVE_DOS_H
  |  | 3523|       |#  undef HAVE_SHARE_H
  |  | 3524|       |#  undef HAVE_SYS_TIME_H
  |  | 3525|       |#elif (ACC_CC_NDPC)
  |  | 3526|       |#  undef HAVE_DIRENT_H
  |  | 3527|       |#  undef HAVE_DOS_H
  |  | 3528|       |#  undef HAVE_UNISTD_H
  |  | 3529|       |#  undef HAVE_UTIME_H
  |  | 3530|       |#  undef HAVE_SYS_TIME_H
  |  | 3531|       |#elif (ACC_CC_PACIFICC)
  |  | 3532|       |#  undef HAVE_DIRECT_H
  |  | 3533|       |#  undef HAVE_DIRENT_H
  |  | 3534|       |#  undef HAVE_FCNTL_H
  |  | 3535|       |#  undef HAVE_IO_H
  |  | 3536|       |#  undef HAVE_MALLOC_H
  |  | 3537|       |#  undef HAVE_MEMORY_H
  |  | 3538|       |#  undef HAVE_SHARE_H
  |  | 3539|       |#  undef HAVE_UNISTD_H
  |  | 3540|       |#  undef HAVE_UTIME_H
  |  | 3541|       |#  undef HAVE_SYS_STAT_H
  |  | 3542|       |#  undef HAVE_SYS_TIME_H
  |  | 3543|       |#  undef HAVE_SYS_TYPES_H
  |  | 3544|       |#elif (ACC_OS_WIN32 && ACC_CC_PELLESC)
  |  | 3545|       |#  undef HAVE_DIRENT_H
  |  | 3546|       |#  undef HAVE_DOS_H
  |  | 3547|       |#  undef HAVE_MALLOC_H
  |  | 3548|       |#  undef HAVE_SHARE_H
  |  | 3549|       |#  undef HAVE_UNISTD_H
  |  | 3550|       |#  undef HAVE_UTIME_H
  |  | 3551|       |#  undef HAVE_SYS_TIME_H
  |  | 3552|       |#  if (__POCC__ < 280)
  |  | 3553|       |#  else
  |  | 3554|       |#    define HAVE_SYS_UTIME_H 1
  |  | 3555|       |#  endif
  |  | 3556|       |#elif (ACC_OS_WIN32 && ACC_CC_PGI) && defined(__MINGW32__)
  |  | 3557|       |#  undef HAVE_UTIME_H
  |  | 3558|       |#  define HAVE_SYS_UTIME_H 1
  |  | 3559|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
  |  | 3560|       |#elif (ACC_CC_SYMANTECC)
  |  | 3561|       |#  undef HAVE_DIRENT_H
  |  | 3562|       |#  undef HAVE_UNISTD_H
  |  | 3563|       |#  if (__SC__ < 0x700)
  |  | 3564|       |#    undef HAVE_UTIME_H
  |  | 3565|       |#    undef HAVE_SYS_TIME_H
  |  | 3566|       |#  endif
  |  | 3567|       |#elif (ACC_CC_TOPSPEEDC)
  |  | 3568|       |#  undef HAVE_DIRENT_H
  |  | 3569|       |#  undef HAVE_UNISTD_H
  |  | 3570|       |#  undef HAVE_UTIME_H
  |  | 3571|       |#  undef HAVE_SYS_STAT_H
  |  | 3572|       |#  undef HAVE_SYS_TIME_H
  |  | 3573|       |#  undef HAVE_SYS_TYPES_H
  |  | 3574|       |#elif (ACC_CC_TURBOC)
  |  | 3575|       |#  undef HAVE_UNISTD_H
  |  | 3576|       |#  undef HAVE_SYS_TIME_H
  |  | 3577|       |#  undef HAVE_SYS_TYPES_H
  |  | 3578|       |#  if (ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 3579|       |#    undef HAVE_DIRENT_H
  |  | 3580|       |#  endif
  |  | 3581|       |#  if (__TURBOC__ < 0x0200)
  |  | 3582|       |#    undef HAVE_SIGNAL_H
  |  | 3583|       |#  endif
  |  | 3584|       |#  if (__TURBOC__ < 0x0400)
  |  | 3585|       |#    undef HAVE_DIRECT_H
  |  | 3586|       |#    undef HAVE_DIRENT_H
  |  | 3587|       |#    undef HAVE_MALLOC_H
  |  | 3588|       |#    undef HAVE_MEMORY_H
  |  | 3589|       |#    undef HAVE_UTIME_H
  |  | 3590|       |#  endif
  |  | 3591|       |#elif (ACC_CC_WATCOMC)
  |  | 3592|       |#  undef HAVE_DIRENT_H
  |  | 3593|       |#  undef HAVE_UTIME_H
  |  | 3594|       |#  undef HAVE_SYS_TIME_H
  |  | 3595|       |#  define HAVE_SYS_UTIME_H 1
  |  | 3596|       |#  if (__WATCOMC__ < 950)
  |  | 3597|       |#    undef HAVE_UNISTD_H
  |  | 3598|       |#  endif
  |  | 3599|       |#elif (ACC_CC_ZORTECHC)
  |  | 3600|       |#  undef HAVE_DIRENT_H
  |  | 3601|       |#  undef HAVE_MEMORY_H
  |  | 3602|       |#  undef HAVE_UNISTD_H
  |  | 3603|       |#  undef HAVE_UTIME_H
  |  | 3604|       |#  undef HAVE_SYS_TIME_H
  |  | 3605|       |#endif
  |  | 3606|       |#endif
  |  | 3607|       |#if (ACC_OS_CONSOLE)
  |  | 3608|       |#  undef HAVE_DIRENT_H
  |  | 3609|       |#endif
  |  | 3610|       |#if (ACC_OS_EMBEDDED)
  |  | 3611|       |#  undef HAVE_DIRENT_H
  |  | 3612|       |#endif
  |  | 3613|       |#if (ACC_LIBC_ISOC90 || ACC_LIBC_ISOC99)
  |  | 3614|       |#  undef HAVE_DIRENT_H
  |  | 3615|       |#  undef HAVE_FCNTL_H
  |  | 3616|       |#  undef HAVE_MALLOC_H
  |  | 3617|       |#  undef HAVE_UNISTD_H
  |  | 3618|       |#  undef HAVE_UTIME_H
  |  | 3619|       |#  undef HAVE_SYS_STAT_H
  |  | 3620|       |#  undef HAVE_SYS_TIME_H
  |  | 3621|       |#  undef HAVE_SYS_TYPES_H
  |  | 3622|       |#endif
  |  | 3623|       |#if (ACC_LIBC_GLIBC >= 0x020100ul)
  |  | 3624|       |#  define HAVE_STDINT_H 1
  |  | 3625|       |#elif (ACC_LIBC_DIETLIBC)
  |  | 3626|       |#  undef HAVE_STDINT_H
  |  | 3627|       |#elif (ACC_LIBC_UCLIBC)
  |  | 3628|       |#  define HAVE_STDINT_H 1
  |  | 3629|       |#elif (ACC_CC_BORLANDC) && (__BORLANDC__ >= 0x560)
  |  | 3630|       |#  undef HAVE_STDINT_H
  |  | 3631|       |#elif (ACC_CC_DMC) && (__DMC__ >= 0x825)
  |  | 3632|       |#  define HAVE_STDINT_H 1
  |  | 3633|       |#endif
  |  | 3634|       |#if (HAVE_SYS_TIME_H && HAVE_TIME_H)
  |  | 3635|       |#  define TIME_WITH_SYS_TIME 1
  |  | 3636|       |#endif
  |  | 3637|       |#endif
  |  | 3638|       |#endif
  |  | 3639|       |#if !(ACC_CFG_AUTO_NO_FUNCTIONS)
  |  | 3640|       |#if (ACC_LIBC_NAKED)
  |  | 3641|       |#elif (ACC_LIBC_FREESTANDING)
  |  | 3642|       |#elif (ACC_LIBC_MOSTLY_FREESTANDING)
  |  | 3643|       |#  define HAVE_LONGJMP 1
  |  | 3644|       |#  define HAVE_MEMCMP 1
  |  | 3645|       |#  define HAVE_MEMCPY 1
  |  | 3646|       |#  define HAVE_MEMMOVE 1
  |  | 3647|       |#  define HAVE_MEMSET 1
  |  | 3648|       |#  define HAVE_SETJMP 1
  |  | 3649|       |#else
  |  | 3650|       |#ifndef HAVE_ACCESS
  |  | 3651|       |#define HAVE_ACCESS 1
  |  | 3652|       |#endif
  |  | 3653|       |#ifndef HAVE_ALLOCA
  |  | 3654|       |#define HAVE_ALLOCA 1
  |  | 3655|       |#endif
  |  | 3656|       |#ifndef HAVE_ATEXIT
  |  | 3657|       |#define HAVE_ATEXIT 1
  |  | 3658|       |#endif
  |  | 3659|       |#define HAVE_ATOI 1
  |  | 3660|       |#define HAVE_ATOL 1
  |  | 3661|       |#ifndef HAVE_CHMOD
  |  | 3662|       |#define HAVE_CHMOD 1
  |  | 3663|       |#endif
  |  | 3664|       |#ifndef HAVE_CHOWN
  |  | 3665|       |#define HAVE_CHOWN 1
  |  | 3666|       |#endif
  |  | 3667|       |#define HAVE_CTIME 1
  |  | 3668|       |#define HAVE_DIFFTIME 1
  |  | 3669|       |#define HAVE_FILENO 1
  |  | 3670|       |#define HAVE_FSTAT 1
  |  | 3671|       |#define HAVE_GETENV 1
  |  | 3672|       |#define HAVE_GETTIMEOFDAY 1
  |  | 3673|       |#define HAVE_GMTIME 1
  |  | 3674|       |#define HAVE_ISATTY 1
  |  | 3675|       |#define HAVE_LOCALTIME 1
  |  | 3676|       |#ifndef HAVE_LONGJMP
  |  | 3677|       |#define HAVE_LONGJMP 1
  |  | 3678|       |#endif
  |  | 3679|       |#define HAVE_LSTAT 1
  |  | 3680|       |#define HAVE_MEMCMP 1
  |  | 3681|       |#define HAVE_MEMCPY 1
  |  | 3682|       |#define HAVE_MEMMOVE 1
  |  | 3683|       |#define HAVE_MEMSET 1
  |  | 3684|       |#define HAVE_MKDIR 1
  |  | 3685|       |#define HAVE_MKTIME 1
  |  | 3686|       |#define HAVE_QSORT 1
  |  | 3687|       |#ifndef HAVE_RAISE
  |  | 3688|       |#define HAVE_RAISE 1
  |  | 3689|       |#endif
  |  | 3690|       |#define HAVE_RMDIR 1
  |  | 3691|       |#ifndef HAVE_SETJMP
  |  | 3692|       |#define HAVE_SETJMP 1
  |  | 3693|       |#endif
  |  | 3694|       |#ifndef HAVE_SIGNAL
  |  | 3695|       |#define HAVE_SIGNAL 1
  |  | 3696|       |#endif
  |  | 3697|       |#define HAVE_SNPRINTF 1
  |  | 3698|       |#define HAVE_STAT 1
  |  | 3699|       |#define HAVE_STRCHR 1
  |  | 3700|       |#define HAVE_STRDUP 1
  |  | 3701|       |#define HAVE_STRERROR 1
  |  | 3702|       |#define HAVE_STRFTIME 1
  |  | 3703|       |#define HAVE_STRRCHR 1
  |  | 3704|       |#define HAVE_STRSTR 1
  |  | 3705|       |#define HAVE_TIME 1
  |  | 3706|       |#define HAVE_UMASK 1
  |  | 3707|       |#define HAVE_UTIME 1
  |  | 3708|       |#define HAVE_VSNPRINTF 1
  |  | 3709|       |#if (ACC_OS_BEOS || ACC_OS_CYGWIN || ACC_OS_POSIX || ACC_OS_QNX || ACC_OS_VMS)
  |  | 3710|       |#  define HAVE_STRCASECMP 1
  |  | 3711|       |#  define HAVE_STRNCASECMP 1
  |  | 3712|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
  |  | 3713|       |#  define HAVE_STRCASECMP 1
  |  | 3714|       |#  define HAVE_STRNCASECMP 1
  |  | 3715|       |#else
  |  | 3716|       |#  define HAVE_STRICMP 1
  |  | 3717|       |#  define HAVE_STRNICMP 1
  |  | 3718|       |#endif
  |  | 3719|       |#if (ACC_OS_POSIX)
  |  | 3720|       |#  if (ACC_OS_POSIX_AIX)
  |  | 3721|       |#    define HAVE_GETRUSAGE 1
  |  | 3722|       |#  elif (ACC_OS_POSIX_DARWIN && ACC_LIBC_MSL)
  |  | 3723|       |#    undef HAVE_CHOWN
  |  | 3724|       |#    undef HAVE_LSTAT
  |  | 3725|       |#  elif (ACC_OS_POSIX_UNICOS)
  |  | 3726|       |#    undef HAVE_ALLOCA
  |  | 3727|       |#    undef HAVE_SNPRINTF
  |  | 3728|       |#    undef HAVE_VSNPRINTF
  |  | 3729|       |#  endif
  |  | 3730|       |#  if (ACC_CC_TINYC)
  |  | 3731|       |#    undef HAVE_ALLOCA
  |  | 3732|       |#  endif
  |  | 3733|       |#  if (ACC_LIBC_DIETLIBC || ACC_LIBC_GLIBC || ACC_LIBC_UCLIBC)
  |  | 3734|       |#    define HAVE_GETRUSAGE 1
  |  | 3735|       |#    define HAVE_GETPAGESIZE 1
  |  | 3736|       |#    define HAVE_MMAP 1
  |  | 3737|       |#    define HAVE_MPROTECT 1
  |  | 3738|       |#    define HAVE_MUNMAP 1
  |  | 3739|       |#  endif
  |  | 3740|       |#elif (ACC_OS_CYGWIN)
  |  | 3741|       |#  if (ACC_CC_GNUC < 0x025a00ul)
  |  | 3742|       |#    undef HAVE_GETTIMEOFDAY
  |  | 3743|       |#    undef HAVE_LSTAT
  |  | 3744|       |#  endif
  |  | 3745|       |#  if (ACC_CC_GNUC < 0x025f00ul)
  |  | 3746|       |#    undef HAVE_SNPRINTF
  |  | 3747|       |#    undef HAVE_VSNPRINTF
  |  | 3748|       |#  endif
  |  | 3749|       |#elif (ACC_OS_EMX)
  |  | 3750|       |#  undef HAVE_CHOWN
  |  | 3751|       |#  undef HAVE_LSTAT
  |  | 3752|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC)
  |  | 3753|       |#  if !defined(__MINT__)
  |  | 3754|       |#    undef HAVE_SNPRINTF
  |  | 3755|       |#    undef HAVE_VSNPRINTF
  |  | 3756|       |#  endif
  |  | 3757|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
  |  | 3758|       |#  undef HAVE_ALLOCA
  |  | 3759|       |#  undef HAVE_ACCESS
  |  | 3760|       |#  undef HAVE_CHMOD
  |  | 3761|       |#  undef HAVE_CHOWN
  |  | 3762|       |#  undef HAVE_FSTAT
  |  | 3763|       |#  undef HAVE_GETTIMEOFDAY
  |  | 3764|       |#  undef HAVE_LSTAT
  |  | 3765|       |#  undef HAVE_SNPRINTF
  |  | 3766|       |#  undef HAVE_UMASK
  |  | 3767|       |#  undef HAVE_UTIME
  |  | 3768|       |#  undef HAVE_VSNPRINTF
  |  | 3769|       |#endif
  |  | 3770|       |#if (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 3771|       |#undef HAVE_CHOWN
  |  | 3772|       |#undef HAVE_GETTIMEOFDAY
  |  | 3773|       |#undef HAVE_LSTAT
  |  | 3774|       |#undef HAVE_UMASK
  |  | 3775|       |#if (ACC_CC_AZTECC)
  |  | 3776|       |#  undef HAVE_ALLOCA
  |  | 3777|       |#  undef HAVE_DIFFTIME
  |  | 3778|       |#  undef HAVE_FSTAT
  |  | 3779|       |#  undef HAVE_STRDUP
  |  | 3780|       |#  undef HAVE_SNPRINTF
  |  | 3781|       |#  undef HAVE_UTIME
  |  | 3782|       |#  undef HAVE_VSNPRINTF
  |  | 3783|       |#elif (ACC_CC_BORLANDC)
  |  | 3784|       |#  if (__BORLANDC__ < 0x0400)
  |  | 3785|       |#    undef HAVE_ALLOCA
  |  | 3786|       |#    undef HAVE_UTIME
  |  | 3787|       |#  endif
  |  | 3788|       |#  if ((__BORLANDC__ < 0x0410) && ACC_OS_WIN16)
  |  | 3789|       |#    undef HAVE_ALLOCA
  |  | 3790|       |#  endif
  |  | 3791|       |#  if (__BORLANDC__ < 0x0550)
  |  | 3792|       |#    undef HAVE_SNPRINTF
  |  | 3793|       |#    undef HAVE_VSNPRINTF
  |  | 3794|       |#  endif
  |  | 3795|       |#elif (ACC_CC_DMC)
  |  | 3796|       |#  if (ACC_OS_WIN16)
  |  | 3797|       |#    undef HAVE_ALLOCA
  |  | 3798|       |#  endif
  |  | 3799|       |#  define snprintf _snprintf
  |  | 3800|       |#  define vsnprintf _vsnprintf
  |  | 3801|       |#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 3802|       |#  undef HAVE_SNPRINTF
  |  | 3803|       |#  undef HAVE_VSNPRINTF
  |  | 3804|       |#elif (ACC_OS_DOS32 && ACC_CC_HIGHC)
  |  | 3805|       |#  undef HAVE_SNPRINTF
  |  | 3806|       |#  undef HAVE_VSNPRINTF
  |  | 3807|       |#elif (ACC_CC_GHS)
  |  | 3808|       |#  undef HAVE_ALLOCA
  |  | 3809|       |#  ifndef snprintf
  |  | 3810|       |#  define snprintf _snprintf
  |  | 3811|       |#  endif
  |  | 3812|       |#  ifndef vsnprintf
  |  | 3813|       |#  define vsnprintf _vsnprintf
  |  | 3814|       |#  endif
  |  | 3815|       |#elif (ACC_CC_IBMC)
  |  | 3816|       |#  undef HAVE_SNPRINTF
  |  | 3817|       |#  undef HAVE_VSNPRINTF
  |  | 3818|       |#elif (ACC_CC_CLANG_MSC || ACC_CC_INTELC_MSC)
  |  | 3819|       |#  ifndef snprintf
  |  | 3820|       |#  define snprintf _snprintf
  |  | 3821|       |#  endif
  |  | 3822|       |#  ifndef vsnprintf
  |  | 3823|       |#  define vsnprintf _vsnprintf
  |  | 3824|       |#  endif
  |  | 3825|       |#elif (ACC_CC_LCCWIN32)
  |  | 3826|       |#  define utime _utime
  |  | 3827|       |#elif (ACC_CC_CLANG_C2 || ACC_CC_MSC)
  |  | 3828|       |#  if (_MSC_VER < 600)
  |  | 3829|       |#    undef HAVE_STRFTIME
  |  | 3830|       |#  endif
  |  | 3831|       |#  if (_MSC_VER < 700)
  |  | 3832|       |#    undef HAVE_SNPRINTF
  |  | 3833|       |#    undef HAVE_VSNPRINTF
  |  | 3834|       |#  elif (_MSC_VER < 1500)
  |  | 3835|       |#    ifndef snprintf
  |  | 3836|       |#    define snprintf _snprintf
  |  | 3837|       |#    endif
  |  | 3838|       |#    ifndef vsnprintf
  |  | 3839|       |#    define vsnprintf _vsnprintf
  |  | 3840|       |#    endif
  |  | 3841|       |#  elif (_MSC_VER < 1900)
  |  | 3842|       |#    ifndef snprintf
  |  | 3843|       |#    define snprintf _snprintf
  |  | 3844|       |#    endif
  |  | 3845|       |#  endif
  |  | 3846|       |#  if ((_MSC_VER < 800) && ACC_OS_WIN16)
  |  | 3847|       |#    undef HAVE_ALLOCA
  |  | 3848|       |#  endif
  |  | 3849|       |#  if (ACC_ARCH_I086) && defined(__cplusplus)
  |  | 3850|       |#    undef HAVE_LONGJMP
  |  | 3851|       |#    undef HAVE_SETJMP
  |  | 3852|       |#  endif
  |  | 3853|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__MINGW32__)
  |  | 3854|       |#  if (ACC_CC_GNUC < 0x025f00ul)
  |  | 3855|       |#    undef HAVE_SNPRINTF
  |  | 3856|       |#    undef HAVE_VSNPRINTF
  |  | 3857|       |#  elif 0
  |  | 3858|       |#    define snprintf _snprintf
  |  | 3859|       |#    define vsnprintf _vsnprintf
  |  | 3860|       |#  endif
  |  | 3861|       |#elif (ACC_OS_WIN32 && ACC_LIBC_MSL)
  |  | 3862|       |#  if (__MSL__ < 0x8000ul)
  |  | 3863|       |#    undef HAVE_CHMOD
  |  | 3864|       |#  endif
  |  | 3865|       |#elif (ACC_CC_NDPC)
  |  | 3866|       |#  undef HAVE_ALLOCA
  |  | 3867|       |#  undef HAVE_SNPRINTF
  |  | 3868|       |#  undef HAVE_STRNICMP
  |  | 3869|       |#  undef HAVE_UTIME
  |  | 3870|       |#  undef HAVE_VSNPRINTF
  |  | 3871|       |#  if defined(__cplusplus)
  |  | 3872|       |#    undef HAVE_STAT
  |  | 3873|       |#  endif
  |  | 3874|       |#elif (ACC_CC_PACIFICC)
  |  | 3875|       |#  undef HAVE_ACCESS
  |  | 3876|       |#  undef HAVE_ALLOCA
  |  | 3877|       |#  undef HAVE_CHMOD
  |  | 3878|       |#  undef HAVE_DIFFTIME
  |  | 3879|       |#  undef HAVE_FSTAT
  |  | 3880|       |#  undef HAVE_MKTIME
  |  | 3881|       |#  undef HAVE_RAISE
  |  | 3882|       |#  undef HAVE_SNPRINTF
  |  | 3883|       |#  undef HAVE_STRFTIME
  |  | 3884|       |#  undef HAVE_UTIME
  |  | 3885|       |#  undef HAVE_VSNPRINTF
  |  | 3886|       |#elif (ACC_OS_WIN32 && ACC_CC_PELLESC)
  |  | 3887|       |#  if (__POCC__ < 280)
  |  | 3888|       |#    define alloca _alloca
  |  | 3889|       |#    undef HAVE_UTIME
  |  | 3890|       |#  endif
  |  | 3891|       |#elif (ACC_OS_WIN32 && ACC_CC_PGI) && defined(__MINGW32__)
  |  | 3892|       |#  define snprintf _snprintf
  |  | 3893|       |#  define vsnprintf _vsnprintf
  |  | 3894|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
  |  | 3895|       |#  undef HAVE_SNPRINTF
  |  | 3896|       |#  undef HAVE_VSNPRINTF
  |  | 3897|       |#elif (ACC_CC_SYMANTECC)
  |  | 3898|       |#  if (ACC_OS_WIN16 && (ACC_MM_MEDIUM || ACC_MM_LARGE || ACC_MM_HUGE))
  |  | 3899|       |#    undef HAVE_ALLOCA
  |  | 3900|       |#  endif
  |  | 3901|       |#  if (__SC__ < 0x600)
  |  | 3902|       |#    undef HAVE_SNPRINTF
  |  | 3903|       |#    undef HAVE_VSNPRINTF
  |  | 3904|       |#  else
  |  | 3905|       |#    define snprintf _snprintf
  |  | 3906|       |#    define vsnprintf _vsnprintf
  |  | 3907|       |#  endif
  |  | 3908|       |#  if (__SC__ < 0x700)
  |  | 3909|       |#    undef HAVE_DIFFTIME
  |  | 3910|       |#    undef HAVE_UTIME
  |  | 3911|       |#  endif
  |  | 3912|       |#elif (ACC_CC_TOPSPEEDC)
  |  | 3913|       |#  undef HAVE_SNPRINTF
  |  | 3914|       |#  undef HAVE_VSNPRINTF
  |  | 3915|       |#elif (ACC_CC_TURBOC)
  |  | 3916|       |#  undef HAVE_ALLOCA
  |  | 3917|       |#  undef HAVE_SNPRINTF
  |  | 3918|       |#  undef HAVE_VSNPRINTF
  |  | 3919|       |#  if (__TURBOC__ < 0x0200)
  |  | 3920|       |#    undef HAVE_RAISE
  |  | 3921|       |#    undef HAVE_SIGNAL
  |  | 3922|       |#  endif
  |  | 3923|       |#  if (__TURBOC__ < 0x0295)
  |  | 3924|       |#    undef HAVE_MKTIME
  |  | 3925|       |#    undef HAVE_STRFTIME
  |  | 3926|       |#  endif
  |  | 3927|       |#  if (__TURBOC__ < 0x0400)
  |  | 3928|       |#    undef HAVE_UTIME
  |  | 3929|       |#  endif
  |  | 3930|       |#elif (ACC_CC_WATCOMC)
  |  | 3931|       |#  if (__WATCOMC__ < 1100)
  |  | 3932|       |#    undef HAVE_SNPRINTF
  |  | 3933|       |#    undef HAVE_VSNPRINTF
  |  | 3934|       |#  elif (__WATCOMC__ < 1200)
  |  | 3935|       |#    define snprintf _snprintf
  |  | 3936|       |#    define vsnprintf _vsnprintf
  |  | 3937|       |#  endif
  |  | 3938|       |#elif (ACC_CC_ZORTECHC)
  |  | 3939|       |#  if (ACC_OS_WIN16 && (ACC_MM_MEDIUM || ACC_MM_LARGE || ACC_MM_HUGE))
  |  | 3940|       |#    undef HAVE_ALLOCA
  |  | 3941|       |#  endif
  |  | 3942|       |#  undef HAVE_DIFFTIME
  |  | 3943|       |#  undef HAVE_SNPRINTF
  |  | 3944|       |#  undef HAVE_UTIME
  |  | 3945|       |#  undef HAVE_VSNPRINTF
  |  | 3946|       |#endif
  |  | 3947|       |#endif
  |  | 3948|       |#if (ACC_OS_CONSOLE)
  |  | 3949|       |#  undef HAVE_ACCESS
  |  | 3950|       |#  undef HAVE_CHMOD
  |  | 3951|       |#  undef HAVE_CHOWN
  |  | 3952|       |#  undef HAVE_GETTIMEOFDAY
  |  | 3953|       |#  undef HAVE_LSTAT
  |  | 3954|       |#  undef HAVE_TIME
  |  | 3955|       |#  undef HAVE_UMASK
  |  | 3956|       |#  undef HAVE_UTIME
  |  | 3957|       |#endif
  |  | 3958|       |#if (ACC_LIBC_ISOC90 || ACC_LIBC_ISOC99)
  |  | 3959|       |#  undef HAVE_ACCESS
  |  | 3960|       |#  undef HAVE_CHMOD
  |  | 3961|       |#  undef HAVE_CHOWN
  |  | 3962|       |#  undef HAVE_FILENO
  |  | 3963|       |#  undef HAVE_FSTAT
  |  | 3964|       |#  undef HAVE_GETTIMEOFDAY
  |  | 3965|       |#  undef HAVE_LSTAT
  |  | 3966|       |#  undef HAVE_STAT
  |  | 3967|       |#  undef HAVE_UMASK
  |  | 3968|       |#  undef HAVE_UTIME
  |  | 3969|       |# if 1
  |  | 3970|       |#  undef HAVE_ALLOCA
  |  | 3971|       |#  undef HAVE_ISATTY
  |  | 3972|       |#  undef HAVE_MKDIR
  |  | 3973|       |#  undef HAVE_RMDIR
  |  | 3974|       |#  undef HAVE_STRDUP
  |  | 3975|       |#  undef HAVE_STRICMP
  |  | 3976|       |#  undef HAVE_STRNICMP
  |  | 3977|       |# endif
  |  | 3978|       |#endif
  |  | 3979|       |#endif
  |  | 3980|       |#endif
  |  | 3981|       |#if !(ACC_CFG_AUTO_NO_SIZES)
  |  | 3982|       |#if !defined(SIZEOF_SHORT) && defined(ACC_SIZEOF_SHORT)
  |  | 3983|       |#  define SIZEOF_SHORT          ACC_SIZEOF_SHORT
  |  | 3984|       |#endif
  |  | 3985|       |#if !defined(SIZEOF_INT) && defined(ACC_SIZEOF_INT)
  |  | 3986|       |#  define SIZEOF_INT            ACC_SIZEOF_INT
  |  | 3987|       |#endif
  |  | 3988|       |#if !defined(SIZEOF_LONG) && defined(ACC_SIZEOF_LONG)
  |  | 3989|       |#  define SIZEOF_LONG           ACC_SIZEOF_LONG
  |  | 3990|       |#endif
  |  | 3991|       |#if !defined(SIZEOF_LONG_LONG) && defined(ACC_SIZEOF_LONG_LONG)
  |  | 3992|       |#  define SIZEOF_LONG_LONG      ACC_SIZEOF_LONG_LONG
  |  | 3993|       |#endif
  |  | 3994|       |#if !defined(SIZEOF___INT32) && defined(ACC_SIZEOF___INT32)
  |  | 3995|       |#  define SIZEOF___INT32        ACC_SIZEOF___INT32
  |  | 3996|       |#endif
  |  | 3997|       |#if !defined(SIZEOF___INT64) && defined(ACC_SIZEOF___INT64)
  |  | 3998|       |#  define SIZEOF___INT64        ACC_SIZEOF___INT64
  |  | 3999|       |#endif
  |  | 4000|       |#if !defined(SIZEOF_VOID_P) && defined(ACC_SIZEOF_VOID_P)
  |  | 4001|       |#  define SIZEOF_VOID_P         ACC_SIZEOF_VOID_P
  |  | 4002|       |#endif
  |  | 4003|       |#if !defined(SIZEOF_SIZE_T) && defined(ACC_SIZEOF_SIZE_T)
  |  | 4004|       |#  define SIZEOF_SIZE_T         ACC_SIZEOF_SIZE_T
  |  | 4005|       |#endif
  |  | 4006|       |#if !defined(SIZEOF_PTRDIFF_T) && defined(ACC_SIZEOF_PTRDIFF_T)
  |  | 4007|       |#  define SIZEOF_PTRDIFF_T      ACC_SIZEOF_PTRDIFF_T
  |  | 4008|       |#endif
  |  | 4009|       |#endif
  |  | 4010|       |#if (HAVE_SIGNAL) && !defined(RETSIGTYPE)
  |  | 4011|       |#  define RETSIGTYPE void
  |  | 4012|       |#endif
  |  | 4013|       |#endif
  |  | 4014|       |#if !(ACC_LANG_ASSEMBLER)
  |  | 4015|       |#if !(ACC_CFG_SKIP_ACC_TYPES)
  |  | 4016|       |#if 1 && !defined(acc_signo_t) && defined(__linux__) && defined(__dietlibc__) && (ACC_SIZEOF_INT != 4)
  |  | 4017|       |#  define acc_signo_t               acc_int32e_t
  |  | 4018|       |#endif
  |  | 4019|       |#if !defined(acc_signo_t)
  |  | 4020|       |#  define acc_signo_t               int
  |  | 4021|       |#endif
  |  | 4022|       |#if defined(__cplusplus)
  |  | 4023|       |extern "C" {
  |  | 4024|       |#endif
  |  | 4025|       |#if (ACC_BROKEN_CDECL_ALT_SYNTAX)
  |  | 4026|       |typedef void __acc_cdecl_sighandler (*acc_sighandler_t)(acc_signo_t);
  |  | 4027|       |#else
  |  | 4028|       |typedef void (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t);
  |  | 4029|       |#endif
  |  | 4030|       |#if defined(__cplusplus)
  |  | 4031|       |}
  |  | 4032|       |#endif
  |  | 4033|       |#  if !(ACC_CFG_SKIP_ACC_UA)
  |  | 4034|       |#if !defined(__acc_ua_volatile)
  |  | 4035|       |#  define __acc_ua_volatile     volatile
  |  | 4036|       |#endif
  |  | 4037|       |#if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020700ul))
  |  | 4038|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
  |  | 4039|       |#elif (ACC_CC_INTELC) && defined(_WIN32)
  |  | 4040|       |#elif (ACC_CC_INTELC && (__INTEL_COMPILER < 700))
  |  | 4041|       |#elif (ACC_CC_LLVM)
  |  | 4042|       |#elif (ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE)
  |  | 4043|       |#if !defined(__acc_ua16_t) && (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
  |  | 4044|       |   typedef struct { __acc_ua_volatile acc_uint16e_t v __attribute__((__packed__)); } __acc_ua16_t;
  |  | 4045|       |#  define __acc_ua16_t __acc_ua16_t
  |  | 4046|       |#endif
  |  | 4047|       |#if !defined(__acc_ua32_t) && (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
  |  | 4048|       |   typedef struct { __acc_ua_volatile acc_uint32e_t v __attribute__((__packed__)); } __acc_ua32_t;
  |  | 4049|       |#  define __acc_ua32_t __acc_ua32_t
  |  | 4050|       |#endif
  |  | 4051|       |#if !defined(__acc_ua64_t) && (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
  |  | 4052|       |   typedef struct { __acc_ua_volatile acc_uint64l_t v __attribute__((__packed__)); } __acc_ua64_t;
  |  | 4053|       |#  define __acc_ua64_t __acc_ua64_t
  |  | 4054|       |#endif
  |  | 4055|       |#endif
  |  | 4056|       |#if (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
  |  | 4057|       |#if 0
  |  | 4058|       |#define ACC_UA_GET16(p)         (* (__acc_ua_volatile const acc_uint16e_t*) (__acc_ua_volatile const void*) (p))
  |  | 4059|       |#define ACC_UA_SET16(p,v)       ((* (__acc_ua_volatile acc_uint16e_t*) (__acc_ua_volatile void*) (p)) = (acc_uint16e_t) (v))
  |  | 4060|       |#else
  |  | 4061|       |#define ACC_UA_GET16(p)         (* ACC_STATIC_CAST2(__acc_ua_volatile const acc_uint16e_t*, __acc_ua_volatile const void*, p))
  |  | 4062|       |#define ACC_UA_SET16(p,v)       (* ACC_STATIC_CAST2(__acc_ua_volatile acc_uint16e_t*, __acc_ua_volatile void*, p) = ACC_ITRUNC(acc_uint16e_t, v))
  |  | 4063|       |#endif
  |  | 4064|       |#if (ACC_ABI_BIG_ENDIAN)
  |  | 4065|       |#  define ACC_UA_GET_BE16(p)    ACC_UA_GET16(p)
  |  | 4066|       |#  define ACC_UA_SET_BE16(p,v)  ACC_UA_SET16(p,v)
  |  | 4067|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  |  | 4068|       |#  define ACC_UA_GET_LE16(p)    ACC_UA_GET16(p)
  |  | 4069|       |#  define ACC_UA_SET_LE16(p,v)  ACC_UA_SET16(p,v)
  |  | 4070|       |#endif
  |  | 4071|       |#if (__acc_HAVE_forceinline)
  |  | 4072|       |#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_ASM_SYNTAX_GNUC) && (ACC_CC_GNUC)
  |  | 4073|       |#if !defined(ACC_UA_GET_LE16)
  |  | 4074|       |__acc_static_forceinline
  |  | 4075|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4076|       |__attribute__((__unused__))
  |  | 4077|       |#endif
  |  | 4078|       |unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) {
  |  | 4079|       |    __acc_ua_volatile const acc_uint16e_t* p = ACC_STATIC_CAST(__acc_ua_volatile const acc_uint16e_t*, pp);
  |  | 4080|       |    unsigned long v;
  |  | 4081|       |    __asm__ __volatile__("lhbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
  |  | 4082|       |    return v;
  |  | 4083|       |}
  |  | 4084|       |#define ACC_UA_GET_LE16(p)      __ACC_UA_GET_LE16(p)
  |  | 4085|       |#endif
  |  | 4086|       |#if !defined(ACC_UA_SET_LE16)
  |  | 4087|       |__acc_static_forceinline
  |  | 4088|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4089|       |__attribute__((__unused__))
  |  | 4090|       |#endif
  |  | 4091|       |void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) {
  |  | 4092|       |    __acc_ua_volatile acc_uint16e_t* p = ACC_STATIC_CAST(__acc_ua_volatile acc_uint16e_t*, pp);
  |  | 4093|       |    __asm__ __volatile__("sthbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
  |  | 4094|       |}
  |  | 4095|       |#define ACC_UA_SET_LE16(p,v)    __ACC_UA_SET_LE16(p,v)
  |  | 4096|       |#endif
  |  | 4097|       |#endif
  |  | 4098|       |#endif
  |  | 4099|       |#if !defined(ACC_UA_COPY16)
  |  | 4100|       |#  define ACC_UA_COPY16(d,s)    ACC_UA_SET16(d, ACC_UA_GET16(s))
  |  | 4101|       |#endif
  |  | 4102|       |#endif
  |  | 4103|       |#if (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
  |  | 4104|       |#if 0
  |  | 4105|       |#define ACC_UA_GET32(p)         (* (__acc_ua_volatile const acc_uint32e_t*) (__acc_ua_volatile const void*) (p))
  |  | 4106|       |#define ACC_UA_SET32(p,v)       ((* (__acc_ua_volatile acc_uint32e_t*) (__acc_ua_volatile void*) (p)) = (acc_uint32e_t) (v))
  |  | 4107|       |#else
  |  | 4108|       |#define ACC_UA_GET32(p)         (* ACC_STATIC_CAST2(__acc_ua_volatile const acc_uint32e_t*, __acc_ua_volatile const void*, p))
  |  | 4109|       |#define ACC_UA_SET32(p,v)       (* ACC_STATIC_CAST2(__acc_ua_volatile acc_uint32e_t*, __acc_ua_volatile void*, p) = ACC_ITRUNC(acc_uint32e_t, v))
  |  | 4110|       |#endif
  |  | 4111|       |#if (ACC_ABI_BIG_ENDIAN)
  |  | 4112|       |#  define ACC_UA_GET_BE32(p)    ACC_UA_GET32(p)
  |  | 4113|       |#  define ACC_UA_SET_BE32(p,v)  ACC_UA_SET32(p,v)
  |  | 4114|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  |  | 4115|       |#  define ACC_UA_GET_LE32(p)    ACC_UA_GET32(p)
  |  | 4116|       |#  define ACC_UA_SET_LE32(p,v)  ACC_UA_SET32(p,v)
  |  | 4117|       |#endif
  |  | 4118|       |#if (__acc_HAVE_forceinline)
  |  | 4119|       |#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_ASM_SYNTAX_GNUC) && (ACC_CC_GNUC)
  |  | 4120|       |#if !defined(ACC_UA_GET_LE32)
  |  | 4121|       |__acc_static_forceinline
  |  | 4122|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4123|       |__attribute__((__unused__))
  |  | 4124|       |#endif
  |  | 4125|       |unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) {
  |  | 4126|       |    __acc_ua_volatile const acc_uint32e_t* p = ACC_STATIC_CAST(__acc_ua_volatile const acc_uint32e_t*, pp);
  |  | 4127|       |    unsigned long v;
  |  | 4128|       |    __asm__ __volatile__("lwbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
  |  | 4129|       |    return v;
  |  | 4130|       |}
  |  | 4131|       |#define ACC_UA_GET_LE32(p)      __ACC_UA_GET_LE32(p)
  |  | 4132|       |#endif
  |  | 4133|       |#if !defined(ACC_UA_SET_LE32)
  |  | 4134|       |__acc_static_forceinline
  |  | 4135|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4136|       |__attribute__((__unused__))
  |  | 4137|       |#endif
  |  | 4138|       |void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
  |  | 4139|       |    __acc_ua_volatile acc_uint32e_t* p = ACC_STATIC_CAST(__acc_ua_volatile acc_uint32e_t*, pp);
  |  | 4140|       |    __asm__ __volatile__("stwbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
  |  | 4141|       |}
  |  | 4142|       |#define ACC_UA_SET_LE32(p,v)    __ACC_UA_SET_LE32(p,v)
  |  | 4143|       |#endif
  |  | 4144|       |#endif
  |  | 4145|       |#endif
  |  | 4146|       |#if !defined(ACC_UA_COPY32)
  |  | 4147|       |#  define ACC_UA_COPY32(d,s)    ACC_UA_SET32(d, ACC_UA_GET32(s))
  |  | 4148|       |#endif
  |  | 4149|       |#endif
  |  | 4150|       |#if (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
  |  | 4151|       |#if 0
  |  | 4152|       |#define ACC_UA_GET64(p)         (* (__acc_ua_volatile const acc_uint64l_t*) (__acc_ua_volatile const void*) (p))
  |  | 4153|       |#define ACC_UA_SET64(p,v)       ((* (__acc_ua_volatile acc_uint64l_t*) (__acc_ua_volatile void*) (p)) = (acc_uint64l_t) (v))
  |  | 4154|       |#else
  |  | 4155|       |#define ACC_UA_GET64(p)         (* ACC_STATIC_CAST2(__acc_ua_volatile const acc_uint64l_t*, __acc_ua_volatile const void*, p))
  |  | 4156|       |#define ACC_UA_SET64(p,v)       (* ACC_STATIC_CAST2(__acc_ua_volatile acc_uint64l_t*, __acc_ua_volatile void*, p) = ACC_ITRUNC(acc_uint64l_t, v))
  |  | 4157|       |#endif
  |  | 4158|       |#if (ACC_ABI_BIG_ENDIAN)
  |  | 4159|       |#  define ACC_UA_GET_BE64(p)    ACC_UA_GET64(p)
  |  | 4160|       |#  define ACC_UA_SET_BE64(p,v)  ACC_UA_SET64(p,v)
  |  | 4161|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  |  | 4162|       |#  define ACC_UA_GET_LE64(p)    ACC_UA_GET64(p)
  |  | 4163|       |#  define ACC_UA_SET_LE64(p,v)  ACC_UA_SET64(p,v)
  |  | 4164|       |#endif
  |  | 4165|       |#if !defined(ACC_UA_COPY64)
  |  | 4166|       |#  define ACC_UA_COPY64(d,s)    ACC_UA_SET64(d, ACC_UA_GET64(s))
  |  | 4167|       |#endif
  |  | 4168|       |#endif
  |  | 4169|       |#  endif
  |  | 4170|       |#endif
  |  | 4171|       |#endif
  |  | 4172|       |#endif
  |  | 4173|       |#if defined(ACC_WANT_ACC_TYPE_H)
  |  | 4174|       |#  undef ACC_WANT_ACC_TYPE_H
  |  | 4175|       |#  if (ACC_CFG_SKIP_ACC_TYPES)
  |  | 4176|       |#    error "ACC_WANT_ACC_TYPE_H with ACC_CFG_SKIP_ACC_TYPES"
  |  | 4177|       |#  endif
  |  | 4178|       |#if (!(ACC_SIZEOF_SHORT+0 > 0 && ACC_SIZEOF_INT+0 > 0 && ACC_SIZEOF_LONG+0 > 0))
  |  | 4179|       |#  error "missing defines for sizes"
  |  | 4180|       |#endif
  |  | 4181|       |#if (!(ACC_SIZEOF_PTRDIFF_T+0 > 0 && ACC_SIZEOF_SIZE_T+0 > 0 && ACC_SIZEOF_VOID_P+0 > 0))
  |  | 4182|       |#  error "missing defines for sizes"
  |  | 4183|       |#endif
  |  | 4184|       |#define ACC_TYPEOF_CHAR             1u
  |  | 4185|       |#define ACC_TYPEOF_SHORT            2u
  |  | 4186|       |#define ACC_TYPEOF_INT              3u
  |  | 4187|       |#define ACC_TYPEOF_LONG             4u
  |  | 4188|       |#define ACC_TYPEOF_LONG_LONG        5u
  |  | 4189|       |#define ACC_TYPEOF___INT8           17u
  |  | 4190|       |#define ACC_TYPEOF___INT16          18u
  |  | 4191|       |#define ACC_TYPEOF___INT32          19u
  |  | 4192|       |#define ACC_TYPEOF___INT64          20u
  |  | 4193|       |#define ACC_TYPEOF___INT128         21u
  |  | 4194|       |#define ACC_TYPEOF___INT256         22u
  |  | 4195|       |#define ACC_TYPEOF___MODE_QI        33u
  |  | 4196|       |#define ACC_TYPEOF___MODE_HI        34u
  |  | 4197|       |#define ACC_TYPEOF___MODE_SI        35u
  |  | 4198|       |#define ACC_TYPEOF___MODE_DI        36u
  |  | 4199|       |#define ACC_TYPEOF___MODE_TI        37u
  |  | 4200|       |#define ACC_TYPEOF_CHAR_P           129u
  |  | 4201|       |#if !defined(acc_llong_t)
  |  | 4202|       |#if (ACC_SIZEOF_LONG_LONG+0 > 0)
  |  | 4203|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4204|       |   __acc_gnuc_extension__ typedef long long acc_llong_t__;
  |  | 4205|       |   __acc_gnuc_extension__ typedef unsigned long long acc_ullong_t__;
  |  | 4206|       |#  endif
  |  | 4207|       |#  define acc_llong_t               acc_llong_t__
  |  | 4208|       |#  define acc_ullong_t              acc_ullong_t__
  |  | 4209|       |#endif
  |  | 4210|       |#endif
  |  | 4211|       |#if !defined(acc_int16e_t)
  |  | 4212|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT) && (ACC_SIZEOF_SHORT != 2)
  |  | 4213|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T
  |  | 4214|       |#endif
  |  | 4215|       |#if (ACC_SIZEOF_LONG == 2) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT)
  |  | 4216|       |#  define acc_int16e_t              long
  |  | 4217|       |#  define acc_uint16e_t             unsigned long
  |  | 4218|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF_LONG
  |  | 4219|       |#elif (ACC_SIZEOF_INT == 2) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT16E_T == ACC_TYPEOF_SHORT)
  |  | 4220|       |#  define acc_int16e_t              int
  |  | 4221|       |#  define acc_uint16e_t             unsigned int
  |  | 4222|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF_INT
  |  | 4223|       |#elif (ACC_SIZEOF_SHORT == 2)
  |  | 4224|       |#  define acc_int16e_t              short int
  |  | 4225|       |#  define acc_uint16e_t             unsigned short int
  |  | 4226|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF_SHORT
  |  | 4227|       |#elif 1 && !(ACC_CFG_TYPE_NO_MODE_HI) && (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x025f00ul) || ACC_CC_LLVM)
  |  | 4228|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4229|       |   typedef int acc_int16e_hi_t__ __attribute__((__mode__(__HI__)));
  |  | 4230|       |   typedef unsigned int acc_uint16e_hi_t__ __attribute__((__mode__(__HI__)));
  |  | 4231|       |#  endif
  |  | 4232|       |#  define acc_int16e_t              acc_int16e_hi_t__
  |  | 4233|       |#  define acc_uint16e_t             acc_uint16e_hi_t__
  |  | 4234|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF___MODE_HI
  |  | 4235|       |#elif (ACC_SIZEOF___INT16 == 2)
  |  | 4236|       |#  define acc_int16e_t              __int16
  |  | 4237|       |#  define acc_uint16e_t             unsigned __int16
  |  | 4238|       |#  define ACC_TYPEOF_ACC_INT16E_T   ACC_TYPEOF___INT16
  |  | 4239|       |#else
  |  | 4240|       |#endif
  |  | 4241|       |#endif
  |  | 4242|       |#if defined(acc_int16e_t)
  |  | 4243|       |#  define ACC_SIZEOF_ACC_INT16E_T   2
  |  | 4244|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16e_t) == 2)
  |  | 4245|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16e_t) == ACC_SIZEOF_ACC_INT16E_T)
  |  | 4246|       |#endif
  |  | 4247|       |#if !defined(acc_int32e_t)
  |  | 4248|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T == ACC_TYPEOF_INT) && (ACC_SIZEOF_INT != 4)
  |  | 4249|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T
  |  | 4250|       |#endif
  |  | 4251|       |#if (ACC_SIZEOF_LONG == 4) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT32E_T == ACC_TYPEOF_INT)
  |  | 4252|       |#  define acc_int32e_t              long int
  |  | 4253|       |#  define acc_uint32e_t             unsigned long int
  |  | 4254|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_LONG
  |  | 4255|       |#elif (ACC_SIZEOF_INT == 4)
  |  | 4256|       |#  define acc_int32e_t              int
  |  | 4257|       |#  define acc_uint32e_t             unsigned int
  |  | 4258|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_INT
  |  | 4259|       |#elif (ACC_SIZEOF_SHORT == 4)
  |  | 4260|       |#  define acc_int32e_t              short int
  |  | 4261|       |#  define acc_uint32e_t             unsigned short int
  |  | 4262|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_SHORT
  |  | 4263|       |#elif (ACC_SIZEOF_LONG_LONG == 4)
  |  | 4264|       |#  define acc_int32e_t              acc_llong_t
  |  | 4265|       |#  define acc_uint32e_t             acc_ullong_t
  |  | 4266|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF_LONG_LONG
  |  | 4267|       |#elif 1 && !(ACC_CFG_TYPE_NO_MODE_SI) && (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x025f00ul) || ACC_CC_LLVM) && (__INT_MAX__+0 > 2147483647L)
  |  | 4268|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4269|       |   typedef int acc_int32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 4270|       |   typedef unsigned int acc_uint32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 4271|       |#  endif
  |  | 4272|       |#  define acc_int32e_t              acc_int32e_si_t__
  |  | 4273|       |#  define acc_uint32e_t             acc_uint32e_si_t__
  |  | 4274|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF___MODE_SI
  |  | 4275|       |#elif 1 && !(ACC_CFG_TYPE_NO_MODE_SI) && (ACC_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L)
  |  | 4276|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4277|       |   typedef int acc_int32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 4278|       |   typedef unsigned int acc_uint32e_si_t__ __attribute__((__mode__(__SI__)));
  |  | 4279|       |#  endif
  |  | 4280|       |#  define acc_int32e_t              acc_int32e_si_t__
  |  | 4281|       |#  define acc_uint32e_t             acc_uint32e_si_t__
  |  | 4282|       |#  define ACC_INT32_C(c)            (c##LL)
  |  | 4283|       |#  define ACC_UINT32_C(c)           (c##ULL)
  |  | 4284|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF___MODE_SI
  |  | 4285|       |#elif (ACC_SIZEOF___INT32 == 4)
  |  | 4286|       |#  define acc_int32e_t              __int32
  |  | 4287|       |#  define acc_uint32e_t             unsigned __int32
  |  | 4288|       |#  define ACC_TYPEOF_ACC_INT32E_T   ACC_TYPEOF___INT32
  |  | 4289|       |#else
  |  | 4290|       |#endif
  |  | 4291|       |#endif
  |  | 4292|       |#if defined(acc_int32e_t)
  |  | 4293|       |#  define ACC_SIZEOF_ACC_INT32E_T   4
  |  | 4294|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32e_t) == 4)
  |  | 4295|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32e_t) == ACC_SIZEOF_ACC_INT32E_T)
  |  | 4296|       |#endif
  |  | 4297|       |#if !defined(acc_int64e_t)
  |  | 4298|       |#if (ACC_SIZEOF___INT64 == 8)
  |  | 4299|       |#  if (ACC_CC_BORLANDC) && !defined(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T)
  |  | 4300|       |#    define ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T  ACC_TYPEOF___INT64
  |  | 4301|       |#  endif
  |  | 4302|       |#endif
  |  | 4303|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF_LONG_LONG) && (ACC_SIZEOF_LONG_LONG != 8)
  |  | 4304|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T
  |  | 4305|       |#endif
  |  | 4306|       |#if (ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64) && (ACC_SIZEOF___INT64 != 8)
  |  | 4307|       |#  undef ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T
  |  | 4308|       |#endif
  |  | 4309|       |#if (ACC_SIZEOF_INT == 8) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
  |  | 4310|       |#  define acc_int64e_t              int
  |  | 4311|       |#  define acc_uint64e_t             unsigned int
  |  | 4312|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF_INT
  |  | 4313|       |#elif (ACC_SIZEOF_LONG == 8) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF_LONG_LONG) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64)
  |  | 4314|       |#  define acc_int64e_t              long int
  |  | 4315|       |#  define acc_uint64e_t             unsigned long int
  |  | 4316|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF_LONG
  |  | 4317|       |#elif (ACC_SIZEOF_LONG_LONG == 8) && !(ACC_CFG_PREFER_TYPEOF_ACC_INT64E_T == ACC_TYPEOF___INT64)
  |  | 4318|       |#  define acc_int64e_t              acc_llong_t
  |  | 4319|       |#  define acc_uint64e_t             acc_ullong_t
  |  | 4320|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF_LONG_LONG
  |  | 4321|       |#  if (ACC_CC_BORLANDC)
  |  | 4322|       |#    define ACC_INT64_C(c)          ((c) + 0ll)
  |  | 4323|       |#    define ACC_UINT64_C(c)         ((c) + 0ull)
  |  | 4324|       |#  elif 0
  |  | 4325|       |#    define ACC_INT64_C(c)          (__acc_gnuc_extension__ (c##LL))
  |  | 4326|       |#    define ACC_UINT64_C(c)         (__acc_gnuc_extension__ (c##ULL))
  |  | 4327|       |#  else
  |  | 4328|       |#    define ACC_INT64_C(c)          (c##LL)
  |  | 4329|       |#    define ACC_UINT64_C(c)         (c##ULL)
  |  | 4330|       |#  endif
  |  | 4331|       |#elif (ACC_SIZEOF___INT64 == 8)
  |  | 4332|       |#  define acc_int64e_t              __int64
  |  | 4333|       |#  define acc_uint64e_t             unsigned __int64
  |  | 4334|       |#  define ACC_TYPEOF_ACC_INT64E_T   ACC_TYPEOF___INT64
  |  | 4335|       |#  if (ACC_CC_BORLANDC)
  |  | 4336|       |#    define ACC_INT64_C(c)          ((c) + 0i64)
  |  | 4337|       |#    define ACC_UINT64_C(c)         ((c) + 0ui64)
  |  | 4338|       |#  else
  |  | 4339|       |#    define ACC_INT64_C(c)          (c##i64)
  |  | 4340|       |#    define ACC_UINT64_C(c)         (c##ui64)
  |  | 4341|       |#  endif
  |  | 4342|       |#else
  |  | 4343|       |#endif
  |  | 4344|       |#endif
  |  | 4345|       |#if defined(acc_int64e_t)
  |  | 4346|       |#  define ACC_SIZEOF_ACC_INT64E_T   8
  |  | 4347|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64e_t) == 8)
  |  | 4348|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64e_t) == ACC_SIZEOF_ACC_INT64E_T)
  |  | 4349|       |#endif
  |  | 4350|       |#if !defined(acc_int32l_t)
  |  | 4351|       |#if defined(acc_int32e_t)
  |  | 4352|       |#  define acc_int32l_t              acc_int32e_t
  |  | 4353|       |#  define acc_uint32l_t             acc_uint32e_t
  |  | 4354|       |#  define ACC_SIZEOF_ACC_INT32L_T   ACC_SIZEOF_ACC_INT32E_T
  |  | 4355|       |#  define ACC_TYPEOF_ACC_INT32L_T   ACC_TYPEOF_ACC_INT32E_T
  |  | 4356|       |#elif (ACC_SIZEOF_INT >= 4) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
  |  | 4357|       |#  define acc_int32l_t              int
  |  | 4358|       |#  define acc_uint32l_t             unsigned int
  |  | 4359|       |#  define ACC_SIZEOF_ACC_INT32L_T   ACC_SIZEOF_INT
  |  | 4360|       |#  define ACC_TYPEOF_ACC_INT32L_T   ACC_SIZEOF_INT
  |  | 4361|       |#elif (ACC_SIZEOF_LONG >= 4)
  |  | 4362|       |#  define acc_int32l_t              long int
  |  | 4363|       |#  define acc_uint32l_t             unsigned long int
  |  | 4364|       |#  define ACC_SIZEOF_ACC_INT32L_T   ACC_SIZEOF_LONG
  |  | 4365|       |#  define ACC_TYPEOF_ACC_INT32L_T   ACC_SIZEOF_LONG
  |  | 4366|       |#else
  |  | 4367|       |#  error "acc_int32l_t"
  |  | 4368|       |#endif
  |  | 4369|       |#endif
  |  | 4370|       |#if 1
  |  | 4371|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32l_t) >= 4)
  |  | 4372|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32l_t) == ACC_SIZEOF_ACC_INT32L_T)
  |  | 4373|       |#endif
  |  | 4374|       |#if !defined(acc_int64l_t)
  |  | 4375|       |#if defined(acc_int64e_t)
  |  | 4376|       |#  define acc_int64l_t              acc_int64e_t
  |  | 4377|       |#  define acc_uint64l_t             acc_uint64e_t
  |  | 4378|       |#  define ACC_SIZEOF_ACC_INT64L_T   ACC_SIZEOF_ACC_INT64E_T
  |  | 4379|       |#  define ACC_TYPEOF_ACC_INT64L_T   ACC_TYPEOF_ACC_INT64E_T
  |  | 4380|       |#else
  |  | 4381|       |#endif
  |  | 4382|       |#endif
  |  | 4383|       |#if defined(acc_int64l_t)
  |  | 4384|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64l_t) >= 8)
  |  | 4385|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64l_t) == ACC_SIZEOF_ACC_INT64L_T)
  |  | 4386|       |#endif
  |  | 4387|       |#if !defined(acc_int32f_t)
  |  | 4388|       |#if (ACC_SIZEOF_SIZE_T >= 8)
  |  | 4389|       |#  define acc_int32f_t              acc_int64l_t
  |  | 4390|       |#  define acc_uint32f_t             acc_uint64l_t
  |  | 4391|       |#  define ACC_SIZEOF_ACC_INT32F_T   ACC_SIZEOF_ACC_INT64L_T
  |  | 4392|       |#  define ACC_TYPEOF_ACC_INT32F_T   ACC_TYPEOF_ACC_INT64L_T
  |  | 4393|       |#else
  |  | 4394|       |#  define acc_int32f_t              acc_int32l_t
  |  | 4395|       |#  define acc_uint32f_t             acc_uint32l_t
  |  | 4396|       |#  define ACC_SIZEOF_ACC_INT32F_T   ACC_SIZEOF_ACC_INT32L_T
  |  | 4397|       |#  define ACC_TYPEOF_ACC_INT32F_T   ACC_TYPEOF_ACC_INT32L_T
  |  | 4398|       |#endif
  |  | 4399|       |#endif
  |  | 4400|       |#if 1
  |  | 4401|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32f_t) >= 4)
  |  | 4402|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32f_t) == ACC_SIZEOF_ACC_INT32F_T)
  |  | 4403|       |#endif
  |  | 4404|       |#if !defined(acc_int64f_t)
  |  | 4405|       |#if defined(acc_int64l_t)
  |  | 4406|       |#  define acc_int64f_t              acc_int64l_t
  |  | 4407|       |#  define acc_uint64f_t             acc_uint64l_t
  |  | 4408|       |#  define ACC_SIZEOF_ACC_INT64F_T   ACC_SIZEOF_ACC_INT64L_T
  |  | 4409|       |#  define ACC_TYPEOF_ACC_INT64F_T   ACC_TYPEOF_ACC_INT64L_T
  |  | 4410|       |#else
  |  | 4411|       |#endif
  |  | 4412|       |#endif
  |  | 4413|       |#if defined(acc_int64f_t)
  |  | 4414|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64f_t) >= 8)
  |  | 4415|       |   ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64f_t) == ACC_SIZEOF_ACC_INT64F_T)
  |  | 4416|       |#endif
  |  | 4417|       |#if !defined(acc_intptr_t)
  |  | 4418|       |#if defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__)
  |  | 4419|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4420|       |   typedef __INTPTR_TYPE__          acc_intptr_t;
  |  | 4421|       |   typedef __UINTPTR_TYPE__         acc_uintptr_t;
  |  | 4422|       |#  endif
  |  | 4423|       |#  define acc_intptr_t              acc_intptr_t
  |  | 4424|       |#  define acc_uintptr_t             acc_uintptr_t
  |  | 4425|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_VOID_P
  |  | 4426|       |#elif 1 && (ACC_OS_OS400 && (ACC_SIZEOF_VOID_P == 16))
  |  | 4427|       |#  define __ACC_INTPTR_T_IS_POINTER 1
  |  | 4428|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4429|       |   typedef char *                   acc_intptr_t;
  |  | 4430|       |   typedef char *                   acc_uintptr_t;
  |  | 4431|       |#  endif
  |  | 4432|       |#  define acc_intptr_t              acc_intptr_t
  |  | 4433|       |#  define acc_uintptr_t             acc_uintptr_t
  |  | 4434|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_VOID_P
  |  | 4435|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_CHAR_P
  |  | 4436|       |#elif (ACC_CC_MSC && (_MSC_VER >= 1300) && (ACC_SIZEOF_VOID_P == 4) && (ACC_SIZEOF_INT == 4))
  |  | 4437|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4438|       |   typedef __w64 int                acc_intptr_t;
  |  | 4439|       |   typedef __w64 unsigned int       acc_uintptr_t;
  |  | 4440|       |#  endif
  |  | 4441|       |#  define acc_intptr_t              acc_intptr_t
  |  | 4442|       |#  define acc_uintptr_t             acc_uintptr_t
  |  | 4443|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_INT
  |  | 4444|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_INT
  |  | 4445|       |#elif (ACC_SIZEOF_SHORT == ACC_SIZEOF_VOID_P) && (ACC_SIZEOF_INT > ACC_SIZEOF_VOID_P)
  |  | 4446|       |#  define acc_intptr_t              short
  |  | 4447|       |#  define acc_uintptr_t             unsigned short
  |  | 4448|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_SHORT
  |  | 4449|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_SHORT
  |  | 4450|       |#elif (ACC_SIZEOF_INT >= ACC_SIZEOF_VOID_P) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
  |  | 4451|       |#  define acc_intptr_t              int
  |  | 4452|       |#  define acc_uintptr_t             unsigned int
  |  | 4453|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_INT
  |  | 4454|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_INT
  |  | 4455|       |#elif (ACC_SIZEOF_LONG >= ACC_SIZEOF_VOID_P)
  |  | 4456|       |#  define acc_intptr_t              long
  |  | 4457|       |#  define acc_uintptr_t             unsigned long
  |  | 4458|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_LONG
  |  | 4459|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_LONG
  |  | 4460|       |#elif (ACC_SIZEOF_ACC_INT64L_T >= ACC_SIZEOF_VOID_P)
  |  | 4461|       |#  define acc_intptr_t              acc_int64l_t
  |  | 4462|       |#  define acc_uintptr_t             acc_uint64l_t
  |  | 4463|       |#  define ACC_SIZEOF_ACC_INTPTR_T   ACC_SIZEOF_ACC_INT64L_T
  |  | 4464|       |#  define ACC_TYPEOF_ACC_INTPTR_T   ACC_TYPEOF_ACC_INT64L_T
  |  | 4465|       |#else
  |  | 4466|       |#  error "acc_intptr_t"
  |  | 4467|       |#endif
  |  | 4468|       |#endif
  |  | 4469|       |#if 1
  |  | 4470|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_intptr_t) >= sizeof(void *))
  |  | 4471|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_intptr_t) == sizeof(acc_uintptr_t))
  |  | 4472|       |#endif
  |  | 4473|       |#if !defined(acc_word_t)
  |  | 4474|       |#if defined(ACC_WORDSIZE) && (ACC_WORDSIZE+0 > 0)
  |  | 4475|       |#if (ACC_WORDSIZE == ACC_SIZEOF_ACC_INTPTR_T) && !(__ACC_INTPTR_T_IS_POINTER)
  |  | 4476|       |#  define acc_word_t                acc_uintptr_t
  |  | 4477|       |#  define acc_sword_t               acc_intptr_t
  |  | 4478|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_ACC_INTPTR_T
  |  | 4479|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_ACC_INTPTR_T
  |  | 4480|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_LONG)
  |  | 4481|       |#  define acc_word_t                unsigned long
  |  | 4482|       |#  define acc_sword_t               long
  |  | 4483|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_LONG
  |  | 4484|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_LONG
  |  | 4485|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_INT)
  |  | 4486|       |#  define acc_word_t                unsigned int
  |  | 4487|       |#  define acc_sword_t               int
  |  | 4488|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_INT
  |  | 4489|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_INT
  |  | 4490|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_SHORT)
  |  | 4491|       |#  define acc_word_t                unsigned short
  |  | 4492|       |#  define acc_sword_t               short
  |  | 4493|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_SHORT
  |  | 4494|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_SHORT
  |  | 4495|       |#elif (ACC_WORDSIZE == 1)
  |  | 4496|       |#  define acc_word_t                unsigned char
  |  | 4497|       |#  define acc_sword_t               signed char
  |  | 4498|       |#  define ACC_SIZEOF_ACC_WORD_T     1
  |  | 4499|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF_CHAR
  |  | 4500|       |#elif (ACC_WORDSIZE == ACC_SIZEOF_ACC_INT64L_T)
  |  | 4501|       |#  define acc_word_t                acc_uint64l_t
  |  | 4502|       |#  define acc_sword_t               acc_int64l_t
  |  | 4503|       |#  define ACC_SIZEOF_ACC_WORD_T     ACC_SIZEOF_ACC_INT64L_T
  |  | 4504|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_SIZEOF_ACC_INT64L_T
  |  | 4505|       |#elif (ACC_ARCH_SPU) && (ACC_CC_GNUC)
  |  | 4506|       |#if 0
  |  | 4507|       |#  if !(ACC_LANG_ASSEMBLER)
  |  | 4508|       |   typedef unsigned acc_word_t  __attribute__((__mode__(__V16QI__)));
  |  | 4509|       |   typedef int      acc_sword_t __attribute__((__mode__(__V16QI__)));
  |  | 4510|       |#  endif
  |  | 4511|       |#  define acc_word_t                acc_word_t
  |  | 4512|       |#  define acc_sword_t               acc_sword_t
  |  | 4513|       |#  define ACC_SIZEOF_ACC_WORD_T     16
  |  | 4514|       |#  define ACC_TYPEOF_ACC_WORD_T     ACC_TYPEOF___MODE_V16QI
  |  | 4515|       |#endif
  |  | 4516|       |#else
  |  | 4517|       |#  error "acc_word_t"
  |  | 4518|       |#endif
  |  | 4519|       |#endif
  |  | 4520|       |#endif
  |  | 4521|       |#if 1 && defined(acc_word_t)
  |  | 4522|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_word_t)  == ACC_WORDSIZE)
  |  | 4523|       |    ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_sword_t) == ACC_WORDSIZE)
  |  | 4524|       |#endif
  |  | 4525|       |#if 1
  |  | 4526|       |#define acc_int8_t                  signed char
  |  | 4527|       |#define acc_uint8_t                 unsigned char
  |  | 4528|       |#define ACC_SIZEOF_ACC_INT8_T       1
  |  | 4529|       |#define ACC_TYPEOF_ACC_INT8_T       ACC_TYPEOF_CHAR
  |  | 4530|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int8_t) == 1)
  |  | 4531|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int8_t) == sizeof(acc_uint8_t))
  |  | 4532|       |#endif
  |  | 4533|       |#if defined(acc_int16e_t)
  |  | 4534|       |#define acc_int16_t                 acc_int16e_t
  |  | 4535|       |#define acc_uint16_t                acc_uint16e_t
  |  | 4536|       |#define ACC_SIZEOF_ACC_INT16_T      ACC_SIZEOF_ACC_INT16E_T
  |  | 4537|       |#define ACC_TYPEOF_ACC_INT16_T      ACC_TYPEOF_ACC_INT16E_T
  |  | 4538|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16_t) == 2)
  |  | 4539|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int16_t) == sizeof(acc_uint16_t))
  |  | 4540|       |#endif
  |  | 4541|       |#if defined(acc_int32e_t)
  |  | 4542|       |#define acc_int32_t                 acc_int32e_t
  |  | 4543|       |#define acc_uint32_t                acc_uint32e_t
  |  | 4544|       |#define ACC_SIZEOF_ACC_INT32_T      ACC_SIZEOF_ACC_INT32E_T
  |  | 4545|       |#define ACC_TYPEOF_ACC_INT32_T      ACC_TYPEOF_ACC_INT32E_T
  |  | 4546|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32_t) == 4)
  |  | 4547|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int32_t) == sizeof(acc_uint32_t))
  |  | 4548|       |#endif
  |  | 4549|       |#if defined(acc_int64e_t)
  |  | 4550|       |#define acc_int64_t                 acc_int64e_t
  |  | 4551|       |#define acc_uint64_t                acc_uint64e_t
  |  | 4552|       |#define ACC_SIZEOF_ACC_INT64_T      ACC_SIZEOF_ACC_INT64E_T
  |  | 4553|       |#define ACC_TYPEOF_ACC_INT64_T      ACC_TYPEOF_ACC_INT64E_T
  |  | 4554|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64_t) == 8)
  |  | 4555|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int64_t) == sizeof(acc_uint64_t))
  |  | 4556|       |#endif
  |  | 4557|       |#if 1
  |  | 4558|       |#define acc_int_least32_t           acc_int32l_t
  |  | 4559|       |#define acc_uint_least32_t          acc_uint32l_t
  |  | 4560|       |#define ACC_SIZEOF_ACC_INT_LEAST32_T ACC_SIZEOF_ACC_INT32L_T
  |  | 4561|       |#define ACC_TYPEOF_ACC_INT_LEAST32_T ACC_TYPEOF_ACC_INT32L_T
  |  | 4562|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least32_t) >= 4)
  |  | 4563|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least32_t) == sizeof(acc_uint_least32_t))
  |  | 4564|       |#endif
  |  | 4565|       |#if defined(acc_int64l_t)
  |  | 4566|       |#define acc_int_least64_t           acc_int64l_t
  |  | 4567|       |#define acc_uint_least64_t          acc_uint64l_t
  |  | 4568|       |#define ACC_SIZEOF_ACC_INT_LEAST64_T ACC_SIZEOF_ACC_INT64L_T
  |  | 4569|       |#define ACC_TYPEOF_ACC_INT_LEAST64_T ACC_TYPEOF_ACC_INT64L_T
  |  | 4570|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least64_t) >= 8)
  |  | 4571|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_least64_t) == sizeof(acc_uint_least64_t))
  |  | 4572|       |#endif
  |  | 4573|       |#if 1
  |  | 4574|       |#define acc_int_fast32_t           acc_int32f_t
  |  | 4575|       |#define acc_uint_fast32_t          acc_uint32f_t
  |  | 4576|       |#define ACC_SIZEOF_ACC_INT_FAST32_T ACC_SIZEOF_ACC_INT32F_T
  |  | 4577|       |#define ACC_TYPEOF_ACC_INT_FAST32_T ACC_TYPEOF_ACC_INT32F_T
  |  | 4578|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast32_t) >= 4)
  |  | 4579|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast32_t) == sizeof(acc_uint_fast32_t))
  |  | 4580|       |#endif
  |  | 4581|       |#if defined(acc_int64f_t)
  |  | 4582|       |#define acc_int_fast64_t           acc_int64f_t
  |  | 4583|       |#define acc_uint_fast64_t          acc_uint64f_t
  |  | 4584|       |#define ACC_SIZEOF_ACC_INT_FAST64_T ACC_SIZEOF_ACC_INT64F_T
  |  | 4585|       |#define ACC_TYPEOF_ACC_INT_FAST64_T ACC_TYPEOF_ACC_INT64F_T
  |  | 4586|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast64_t) >= 8)
  |  | 4587|       |ACC_COMPILE_TIME_ASSERT_HEADER(sizeof(acc_int_fast64_t) == sizeof(acc_uint_fast64_t))
  |  | 4588|       |#endif
  |  | 4589|       |#if !defined(ACC_INT16_C)
  |  | 4590|       |#  if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 2)
  |  | 4591|       |#    define ACC_INT16_C(c)          ((c) + 0)
  |  | 4592|       |#    define ACC_UINT16_C(c)         ((c) + 0U)
  |  | 4593|       |#  elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 2)
  |  | 4594|       |#    define ACC_INT16_C(c)          ((c) + 0L)
  |  | 4595|       |#    define ACC_UINT16_C(c)         ((c) + 0UL)
  |  | 4596|       |#  elif (ACC_SIZEOF_INT >= 2)
  |  | 4597|       |#    define ACC_INT16_C(c)          (c)
  |  | 4598|       |#    define ACC_UINT16_C(c)         (c##U)
  |  | 4599|       |#  elif (ACC_SIZEOF_LONG >= 2)
  |  | 4600|       |#    define ACC_INT16_C(c)          (c##L)
  |  | 4601|       |#    define ACC_UINT16_C(c)         (c##UL)
  |  | 4602|       |#  else
  |  | 4603|       |#    error "ACC_INT16_C"
  |  | 4604|       |#  endif
  |  | 4605|       |#endif
  |  | 4606|       |#if !defined(ACC_INT32_C)
  |  | 4607|       |#  if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 4)
  |  | 4608|       |#    define ACC_INT32_C(c)          ((c) + 0)
  |  | 4609|       |#    define ACC_UINT32_C(c)         ((c) + 0U)
  |  | 4610|       |#  elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 4)
  |  | 4611|       |#    define ACC_INT32_C(c)          ((c) + 0L)
  |  | 4612|       |#    define ACC_UINT32_C(c)         ((c) + 0UL)
  |  | 4613|       |#  elif (ACC_SIZEOF_INT >= 4)
  |  | 4614|       |#    define ACC_INT32_C(c)          (c)
  |  | 4615|       |#    define ACC_UINT32_C(c)         (c##U)
  |  | 4616|       |#  elif (ACC_SIZEOF_LONG >= 4)
  |  | 4617|       |#    define ACC_INT32_C(c)          (c##L)
  |  | 4618|       |#    define ACC_UINT32_C(c)         (c##UL)
  |  | 4619|       |#  elif (ACC_SIZEOF_LONG_LONG >= 4)
  |  | 4620|       |#    define ACC_INT32_C(c)          (c##LL)
  |  | 4621|       |#    define ACC_UINT32_C(c)         (c##ULL)
  |  | 4622|       |#  else
  |  | 4623|       |#    error "ACC_INT32_C"
  |  | 4624|       |#  endif
  |  | 4625|       |#endif
  |  | 4626|       |#if !defined(ACC_INT64_C) && defined(acc_int64l_t)
  |  | 4627|       |#  if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 8)
  |  | 4628|       |#    define ACC_INT64_C(c)          ((c) + 0)
  |  | 4629|       |#    define ACC_UINT64_C(c)         ((c) + 0U)
  |  | 4630|       |#  elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 8)
  |  | 4631|       |#    define ACC_INT64_C(c)          ((c) + 0L)
  |  | 4632|       |#    define ACC_UINT64_C(c)         ((c) + 0UL)
  |  | 4633|       |#  elif (ACC_SIZEOF_INT >= 8)
  |  | 4634|       |#    define ACC_INT64_C(c)          (c)
  |  | 4635|       |#    define ACC_UINT64_C(c)         (c##U)
  |  | 4636|       |#  elif (ACC_SIZEOF_LONG >= 8)
  |  | 4637|       |#    define ACC_INT64_C(c)          (c##L)
  |  | 4638|       |#    define ACC_UINT64_C(c)         (c##UL)
  |  | 4639|       |#  else
  |  | 4640|       |#    error "ACC_INT64_C"
  |  | 4641|       |#  endif
  |  | 4642|       |#endif
  |  | 4643|       |#if 1 && !defined(acc_signo_t) && defined(__linux__) && defined(__dietlibc__) && (ACC_SIZEOF_INT != 4)
  |  | 4644|       |#  define acc_signo_t               acc_int32e_t
  |  | 4645|       |#endif
  |  | 4646|       |#if !defined(acc_signo_t)
  |  | 4647|       |#  define acc_signo_t               int
  |  | 4648|       |#endif
  |  | 4649|       |#if defined(__cplusplus)
  |  | 4650|       |extern "C" {
  |  | 4651|       |#endif
  |  | 4652|       |#if (ACC_BROKEN_CDECL_ALT_SYNTAX)
  |  | 4653|       |typedef void __acc_cdecl_sighandler (*acc_sighandler_t)(acc_signo_t);
  |  | 4654|       |#else
  |  | 4655|       |typedef void (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t);
  |  | 4656|       |#endif
  |  | 4657|       |#if defined(__cplusplus)
  |  | 4658|       |}
  |  | 4659|       |#endif
  |  | 4660|       |#  if !(ACC_CFG_SKIP_ACC_UA)
  |  | 4661|       |#if !defined(__acc_ua_volatile)
  |  | 4662|       |#  define __acc_ua_volatile     volatile
  |  | 4663|       |#endif
  |  | 4664|       |#if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020700ul))
  |  | 4665|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
  |  | 4666|       |#elif (ACC_CC_INTELC) && defined(_WIN32)
  |  | 4667|       |#elif (ACC_CC_INTELC && (__INTEL_COMPILER < 700))
  |  | 4668|       |#elif (ACC_CC_LLVM)
  |  | 4669|       |#elif (ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE)
  |  | 4670|       |#if !defined(__acc_ua16_t) && (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
  |  | 4671|       |   typedef struct { __acc_ua_volatile acc_uint16e_t v __attribute__((__packed__)); } __acc_ua16_t;
  |  | 4672|       |#  define __acc_ua16_t __acc_ua16_t
  |  | 4673|       |#endif
  |  | 4674|       |#if !defined(__acc_ua32_t) && (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
  |  | 4675|       |   typedef struct { __acc_ua_volatile acc_uint32e_t v __attribute__((__packed__)); } __acc_ua32_t;
  |  | 4676|       |#  define __acc_ua32_t __acc_ua32_t
  |  | 4677|       |#endif
  |  | 4678|       |#if !defined(__acc_ua64_t) && (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
  |  | 4679|       |   typedef struct { __acc_ua_volatile acc_uint64l_t v __attribute__((__packed__)); } __acc_ua64_t;
  |  | 4680|       |#  define __acc_ua64_t __acc_ua64_t
  |  | 4681|       |#endif
  |  | 4682|       |#endif
  |  | 4683|       |#if (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
  |  | 4684|       |#if 0
  |  | 4685|       |#define ACC_UA_GET16(p)         (* (__acc_ua_volatile const acc_uint16e_t*) (__acc_ua_volatile const void*) (p))
  |  | 4686|       |#define ACC_UA_SET16(p,v)       ((* (__acc_ua_volatile acc_uint16e_t*) (__acc_ua_volatile void*) (p)) = (acc_uint16e_t) (v))
  |  | 4687|       |#else
  |  | 4688|       |#define ACC_UA_GET16(p)         (* ACC_STATIC_CAST2(__acc_ua_volatile const acc_uint16e_t*, __acc_ua_volatile const void*, p))
  |  | 4689|       |#define ACC_UA_SET16(p,v)       (* ACC_STATIC_CAST2(__acc_ua_volatile acc_uint16e_t*, __acc_ua_volatile void*, p) = ACC_ITRUNC(acc_uint16e_t, v))
  |  | 4690|       |#endif
  |  | 4691|       |#if (ACC_ABI_BIG_ENDIAN)
  |  | 4692|       |#  define ACC_UA_GET_BE16(p)    ACC_UA_GET16(p)
  |  | 4693|       |#  define ACC_UA_SET_BE16(p,v)  ACC_UA_SET16(p,v)
  |  | 4694|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  |  | 4695|       |#  define ACC_UA_GET_LE16(p)    ACC_UA_GET16(p)
  |  | 4696|       |#  define ACC_UA_SET_LE16(p,v)  ACC_UA_SET16(p,v)
  |  | 4697|       |#endif
  |  | 4698|       |#if (__acc_HAVE_forceinline)
  |  | 4699|       |#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_ASM_SYNTAX_GNUC) && (ACC_CC_GNUC)
  |  | 4700|       |#if !defined(ACC_UA_GET_LE16)
  |  | 4701|       |__acc_static_forceinline
  |  | 4702|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4703|       |__attribute__((__unused__))
  |  | 4704|       |#endif
  |  | 4705|       |unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) {
  |  | 4706|       |    __acc_ua_volatile const acc_uint16e_t* p = ACC_STATIC_CAST(__acc_ua_volatile const acc_uint16e_t*, pp);
  |  | 4707|       |    unsigned long v;
  |  | 4708|       |    __asm__ __volatile__("lhbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
  |  | 4709|       |    return v;
  |  | 4710|       |}
  |  | 4711|       |#define ACC_UA_GET_LE16(p)      __ACC_UA_GET_LE16(p)
  |  | 4712|       |#endif
  |  | 4713|       |#if !defined(ACC_UA_SET_LE16)
  |  | 4714|       |__acc_static_forceinline
  |  | 4715|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4716|       |__attribute__((__unused__))
  |  | 4717|       |#endif
  |  | 4718|       |void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) {
  |  | 4719|       |    __acc_ua_volatile acc_uint16e_t* p = ACC_STATIC_CAST(__acc_ua_volatile acc_uint16e_t*, pp);
  |  | 4720|       |    __asm__ __volatile__("sthbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
  |  | 4721|       |}
  |  | 4722|       |#define ACC_UA_SET_LE16(p,v)    __ACC_UA_SET_LE16(p,v)
  |  | 4723|       |#endif
  |  | 4724|       |#endif
  |  | 4725|       |#endif
  |  | 4726|       |#if !defined(ACC_UA_COPY16)
  |  | 4727|       |#  define ACC_UA_COPY16(d,s)    ACC_UA_SET16(d, ACC_UA_GET16(s))
  |  | 4728|       |#endif
  |  | 4729|       |#endif
  |  | 4730|       |#if (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
  |  | 4731|       |#if 0
  |  | 4732|       |#define ACC_UA_GET32(p)         (* (__acc_ua_volatile const acc_uint32e_t*) (__acc_ua_volatile const void*) (p))
  |  | 4733|       |#define ACC_UA_SET32(p,v)       ((* (__acc_ua_volatile acc_uint32e_t*) (__acc_ua_volatile void*) (p)) = (acc_uint32e_t) (v))
  |  | 4734|       |#else
  |  | 4735|       |#define ACC_UA_GET32(p)         (* ACC_STATIC_CAST2(__acc_ua_volatile const acc_uint32e_t*, __acc_ua_volatile const void*, p))
  |  | 4736|       |#define ACC_UA_SET32(p,v)       (* ACC_STATIC_CAST2(__acc_ua_volatile acc_uint32e_t*, __acc_ua_volatile void*, p) = ACC_ITRUNC(acc_uint32e_t, v))
  |  | 4737|       |#endif
  |  | 4738|       |#if (ACC_ABI_BIG_ENDIAN)
  |  | 4739|       |#  define ACC_UA_GET_BE32(p)    ACC_UA_GET32(p)
  |  | 4740|       |#  define ACC_UA_SET_BE32(p,v)  ACC_UA_SET32(p,v)
  |  | 4741|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  |  | 4742|       |#  define ACC_UA_GET_LE32(p)    ACC_UA_GET32(p)
  |  | 4743|       |#  define ACC_UA_SET_LE32(p,v)  ACC_UA_SET32(p,v)
  |  | 4744|       |#endif
  |  | 4745|       |#if (__acc_HAVE_forceinline)
  |  | 4746|       |#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_ASM_SYNTAX_GNUC) && (ACC_CC_GNUC)
  |  | 4747|       |#if !defined(ACC_UA_GET_LE32)
  |  | 4748|       |__acc_static_forceinline
  |  | 4749|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4750|       |__attribute__((__unused__))
  |  | 4751|       |#endif
  |  | 4752|       |unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) {
  |  | 4753|       |    __acc_ua_volatile const acc_uint32e_t* p = ACC_STATIC_CAST(__acc_ua_volatile const acc_uint32e_t*, pp);
  |  | 4754|       |    unsigned long v;
  |  | 4755|       |    __asm__ __volatile__("lwbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
  |  | 4756|       |    return v;
  |  | 4757|       |}
  |  | 4758|       |#define ACC_UA_GET_LE32(p)      __ACC_UA_GET_LE32(p)
  |  | 4759|       |#endif
  |  | 4760|       |#if !defined(ACC_UA_SET_LE32)
  |  | 4761|       |__acc_static_forceinline
  |  | 4762|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x020800ul) || ACC_CC_INTELC_GNUC || ACC_CC_LLVM)
  |  | 4763|       |__attribute__((__unused__))
  |  | 4764|       |#endif
  |  | 4765|       |void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
  |  | 4766|       |    __acc_ua_volatile acc_uint32e_t* p = ACC_STATIC_CAST(__acc_ua_volatile acc_uint32e_t*, pp);
  |  | 4767|       |    __asm__ __volatile__("stwbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
  |  | 4768|       |}
  |  | 4769|       |#define ACC_UA_SET_LE32(p,v)    __ACC_UA_SET_LE32(p,v)
  |  | 4770|       |#endif
  |  | 4771|       |#endif
  |  | 4772|       |#endif
  |  | 4773|       |#if !defined(ACC_UA_COPY32)
  |  | 4774|       |#  define ACC_UA_COPY32(d,s)    ACC_UA_SET32(d, ACC_UA_GET32(s))
  |  | 4775|       |#endif
  |  | 4776|       |#endif
  |  | 4777|       |#if (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
  |  | 4778|       |#if 0
  |  | 4779|       |#define ACC_UA_GET64(p)         (* (__acc_ua_volatile const acc_uint64l_t*) (__acc_ua_volatile const void*) (p))
  |  | 4780|       |#define ACC_UA_SET64(p,v)       ((* (__acc_ua_volatile acc_uint64l_t*) (__acc_ua_volatile void*) (p)) = (acc_uint64l_t) (v))
  |  | 4781|       |#else
  |  | 4782|       |#define ACC_UA_GET64(p)         (* ACC_STATIC_CAST2(__acc_ua_volatile const acc_uint64l_t*, __acc_ua_volatile const void*, p))
  |  | 4783|       |#define ACC_UA_SET64(p,v)       (* ACC_STATIC_CAST2(__acc_ua_volatile acc_uint64l_t*, __acc_ua_volatile void*, p) = ACC_ITRUNC(acc_uint64l_t, v))
  |  | 4784|       |#endif
  |  | 4785|       |#if (ACC_ABI_BIG_ENDIAN)
  |  | 4786|       |#  define ACC_UA_GET_BE64(p)    ACC_UA_GET64(p)
  |  | 4787|       |#  define ACC_UA_SET_BE64(p,v)  ACC_UA_SET64(p,v)
  |  | 4788|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  |  | 4789|       |#  define ACC_UA_GET_LE64(p)    ACC_UA_GET64(p)
  |  | 4790|       |#  define ACC_UA_SET_LE64(p,v)  ACC_UA_SET64(p,v)
  |  | 4791|       |#endif
  |  | 4792|       |#if !defined(ACC_UA_COPY64)
  |  | 4793|       |#  define ACC_UA_COPY64(d,s)    ACC_UA_SET64(d, ACC_UA_GET64(s))
  |  | 4794|       |#endif
  |  | 4795|       |#endif
  |  | 4796|       |#  endif
  |  | 4797|       |#endif
  |  | 4798|       |#if defined(ACC_WANT_ACC_INCD_H)
  |  | 4799|       |#  undef ACC_WANT_ACC_INCD_H
  |  | 4800|       |#ifndef __ACC_INCD_H_INCLUDED
  |  | 4801|       |#define __ACC_INCD_H_INCLUDED 1
  |  | 4802|       |#if (ACC_LIBC_NAKED)
  |  | 4803|       |#ifndef __ACC_FALLBACK_STDDEF_H_INCLUDED
  |  | 4804|       |#define __ACC_FALLBACK_STDDEF_H_INCLUDED 1
  |  | 4805|       |#if defined(__PTRDIFF_TYPE__)
  |  | 4806|       |typedef __PTRDIFF_TYPE__ acc_fallback_ptrdiff_t;
  |  | 4807|       |#elif defined(_WIN64)
  |  | 4808|       |typedef long long acc_fallback_ptrdiff_t;
  |  | 4809|       |#elif defined(__MIPS_PSX2__)
  |  | 4810|       |typedef int acc_fallback_ptrdiff_t;
  |  | 4811|       |#else
  |  | 4812|       |typedef long acc_fallback_ptrdiff_t;
  |  | 4813|       |#endif
  |  | 4814|       |#if defined(__SIZE_TYPE__)
  |  | 4815|       |typedef __SIZE_TYPE__ acc_fallback_size_t;
  |  | 4816|       |#elif defined(_WIN64)
  |  | 4817|       |typedef unsigned long long acc_fallback_size_t;
  |  | 4818|       |#elif defined(__MIPS_PSX2__)
  |  | 4819|       |typedef unsigned acc_fallback_size_t;
  |  | 4820|       |#else
  |  | 4821|       |typedef unsigned long acc_fallback_size_t;
  |  | 4822|       |#endif
  |  | 4823|       |#if !defined(ptrdiff_t)
  |  | 4824|       |typedef acc_fallback_ptrdiff_t ptrdiff_t;
  |  | 4825|       |#ifndef _PTRDIFF_T_DEFINED
  |  | 4826|       |#define _PTRDIFF_T_DEFINED 1
  |  | 4827|       |#endif
  |  | 4828|       |#endif
  |  | 4829|       |#if !defined(size_t)
  |  | 4830|       |typedef acc_fallback_size_t size_t;
  |  | 4831|       |#ifndef _SIZE_T_DEFINED
  |  | 4832|       |#define _SIZE_T_DEFINED 1
  |  | 4833|       |#endif
  |  | 4834|       |#endif
  |  | 4835|       |#if !defined(__cplusplus) && !defined(wchar_t)
  |  | 4836|       |typedef unsigned short wchar_t;
  |  | 4837|       |#ifndef _WCHAR_T_DEFINED
  |  | 4838|       |#define _WCHAR_T_DEFINED 1
  |  | 4839|       |#endif
  |  | 4840|       |#endif
  |  | 4841|       |#ifndef NULL
  |  | 4842|       |#if defined(__cplusplus) && (__cplusplus-0 >= 201103L)
  |  | 4843|       |#define NULL    nullptr
  |  | 4844|       |#elif defined(__cplusplus) && defined(__GNUC__) && (__GNUC__ >= 4)
  |  | 4845|       |#define NULL    __null
  |  | 4846|       |#elif defined(__cplusplus)
  |  | 4847|       |#define NULL    0
  |  | 4848|       |#else
  |  | 4849|       |#define NULL    ((void*)0)
  |  | 4850|       |#endif
  |  | 4851|       |#endif
  |  | 4852|       |#ifndef offsetof
  |  | 4853|       |#define offsetof(s,m)   ((size_t)((ptrdiff_t)&(((s*)NULL)->m)))
  |  | 4854|       |#endif
  |  | 4855|       |#endif
  |  | 4856|       |#elif (ACC_LIBC_FREESTANDING)
  |  | 4857|       |# if defined(HAVE_STDDEF_H) && (HAVE_STDDEF_H+0)
  |  | 4858|       |#  include <stddef.h>
  |  | 4859|       |# endif
  |  | 4860|       |# if defined(HAVE_STDINT_H) && (HAVE_STDINT_H+0)
  |  | 4861|       |#  include <stdint.h>
  |  | 4862|       |# endif
  |  | 4863|       |#elif (ACC_LIBC_MOSTLY_FREESTANDING)
  |  | 4864|       |# if defined(HAVE_STDIO_H) && (HAVE_STDIO_H+0)
  |  | 4865|       |#  include <stdio.h>
  |  | 4866|       |# endif
  |  | 4867|       |# if defined(HAVE_STDDEF_H) && (HAVE_STDDEF_H+0)
  |  | 4868|       |#  include <stddef.h>
  |  | 4869|       |# endif
  |  | 4870|       |# if defined(HAVE_STDINT_H) && (HAVE_STDINT_H+0)
  |  | 4871|       |#  include <stdint.h>
  |  | 4872|       |# endif
  |  | 4873|       |#else
  |  | 4874|       |#include <stdio.h>
  |  | 4875|       |#if defined(HAVE_TIME_H) && (HAVE_TIME_H+0) && defined(__MSL__) && defined(__cplusplus)
  |  | 4876|       |# include <time.h>
  |  | 4877|       |#endif
  |  | 4878|       |#if defined(HAVE_SYS_TYPES_H) && (HAVE_SYS_TYPES_H+0)
  |  | 4879|       |# include <sys/types.h>
  |  | 4880|       |#endif
  |  | 4881|       |#if defined(HAVE_SYS_STAT_H) && (HAVE_SYS_STAT_H+0)
  |  | 4882|       |# include <sys/stat.h>
  |  | 4883|       |#endif
  |  | 4884|       |#if defined(STDC_HEADERS) && (STDC_HEADERS+0)
  |  | 4885|       |# include <stdlib.h>
  |  | 4886|       |#elif defined(HAVE_STDLIB_H) && (HAVE_STDLIB_H+0)
  |  | 4887|       |# include <stdlib.h>
  |  | 4888|       |#endif
  |  | 4889|       |#include <stddef.h>
  |  | 4890|       |#if defined(HAVE_STRING_H) && (HAVE_STRING_H+0)
  |  | 4891|       |# if defined(STDC_HEADERS) && (STDC_HEADERS+0)
  |  | 4892|       |# elif defined(HAVE_MEMORY_H) && (HAVE_MEMORY_H+0)
  |  | 4893|       |#  include <memory.h>
  |  | 4894|       |# endif
  |  | 4895|       |# include <string.h>
  |  | 4896|       |#endif
  |  | 4897|       |#if defined(HAVE_STRINGS_H) && (HAVE_STRINGS_H+0)
  |  | 4898|       |# include <strings.h>
  |  | 4899|       |#endif
  |  | 4900|       |#if defined(HAVE_INTTYPES_H) && (HAVE_INTTYPES_H+0)
  |  | 4901|       |# include <inttypes.h>
  |  | 4902|       |#endif
  |  | 4903|       |#if defined(HAVE_STDINT_H) && (HAVE_STDINT_H+0)
  |  | 4904|       |# include <stdint.h>
  |  | 4905|       |#endif
  |  | 4906|       |#if defined(HAVE_UNISTD_H) && (HAVE_UNISTD_H+0)
  |  | 4907|       |# include <unistd.h>
  |  | 4908|       |#endif
  |  | 4909|       |#endif
  |  | 4910|       |#endif
  |  | 4911|       |#endif
  |  | 4912|       |#if defined(ACC_WANT_ACC_INCE_H)
  |  | 4913|       |#  undef ACC_WANT_ACC_INCE_H
  |  | 4914|       |#ifndef __ACC_INCE_H_INCLUDED
  |  | 4915|       |#define __ACC_INCE_H_INCLUDED 1
  |  | 4916|       |#if (ACC_LIBC_NAKED)
  |  | 4917|       |#elif (ACC_LIBC_FREESTANDING)
  |  | 4918|       |#elif (ACC_LIBC_MOSTLY_FREESTANDING)
  |  | 4919|       |#  if (HAVE_SETJMP_H)
  |  | 4920|       |#    include <setjmp.h>
  |  | 4921|       |#  endif
  |  | 4922|       |#else
  |  | 4923|       |#if (HAVE_STDARG_H)
  |  | 4924|       |#  include <stdarg.h>
  |  | 4925|       |#endif
  |  | 4926|       |#if (HAVE_CTYPE_H)
  |  | 4927|       |#  include <ctype.h>
  |  | 4928|       |#endif
  |  | 4929|       |#if (HAVE_ERRNO_H)
  |  | 4930|       |#  include <errno.h>
  |  | 4931|       |#endif
  |  | 4932|       |#if (HAVE_MALLOC_H)
  |  | 4933|       |#  include <malloc.h>
  |  | 4934|       |#endif
  |  | 4935|       |#if (HAVE_ALLOCA_H)
  |  | 4936|       |#  include <alloca.h>
  |  | 4937|       |#endif
  |  | 4938|       |#if (HAVE_FCNTL_H)
  |  | 4939|       |#  include <fcntl.h>
  |  | 4940|       |#endif
  |  | 4941|       |#if (HAVE_DIRENT_H)
  |  | 4942|       |#  include <dirent.h>
  |  | 4943|       |#endif
  |  | 4944|       |#if (HAVE_SETJMP_H)
  |  | 4945|       |#  include <setjmp.h>
  |  | 4946|       |#endif
  |  | 4947|       |#if (HAVE_SIGNAL_H)
  |  | 4948|       |#  include <signal.h>
  |  | 4949|       |#endif
  |  | 4950|       |#if (HAVE_SYS_TIME_H && HAVE_TIME_H)
  |  | 4951|       |#  include <sys/time.h>
  |  | 4952|       |#  include <time.h>
  |  | 4953|       |#elif (HAVE_TIME_H)
  |  | 4954|       |#  include <time.h>
  |  | 4955|       |#endif
  |  | 4956|       |#if (HAVE_UTIME_H)
  |  | 4957|       |#  include <utime.h>
  |  | 4958|       |#elif (HAVE_SYS_UTIME_H)
  |  | 4959|       |#  include <sys/utime.h>
  |  | 4960|       |#endif
  |  | 4961|       |#if (HAVE_IO_H)
  |  | 4962|       |#  include <io.h>
  |  | 4963|       |#endif
  |  | 4964|       |#if (HAVE_DOS_H)
  |  | 4965|       |#  include <dos.h>
  |  | 4966|       |#endif
  |  | 4967|       |#if (HAVE_DIRECT_H)
  |  | 4968|       |#  include <direct.h>
  |  | 4969|       |#endif
  |  | 4970|       |#if (HAVE_SHARE_H)
  |  | 4971|       |#  include <share.h>
  |  | 4972|       |#endif
  |  | 4973|       |#if (ACC_CC_NDPC)
  |  | 4974|       |#  include <os.h>
  |  | 4975|       |#endif
  |  | 4976|       |#if defined(__TOS__) && (defined(__PUREC__) || defined(__TURBOC__))
  |  | 4977|       |#  include <ext.h>
  |  | 4978|       |#endif
  |  | 4979|       |#endif
  |  | 4980|       |#endif
  |  | 4981|       |#endif
  |  | 4982|       |#if defined(ACC_WANT_ACC_INCI_H)
  |  | 4983|       |#  undef ACC_WANT_ACC_INCI_H
  |  | 4984|       |#ifndef __ACC_INCI_H_INCLUDED
  |  | 4985|       |#define __ACC_INCI_H_INCLUDED 1
  |  | 4986|       |#if (ACC_LIBC_NAKED)
  |  | 4987|       |#elif (ACC_LIBC_FREESTANDING)
  |  | 4988|       |#elif (ACC_LIBC_MOSTLY_FREESTANDING)
  |  | 4989|       |#else
  |  | 4990|       |#if (ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
  |  | 4991|       |#  include <tos.h>
  |  | 4992|       |#elif (ACC_HAVE_WINDOWS_H)
  |  | 4993|       |#  if 1 && !defined(WIN32_LEAN_AND_MEAN)
  |  | 4994|       |#    define WIN32_LEAN_AND_MEAN 1
  |  | 4995|       |#  endif
  |  | 4996|       |#  if 1 && !defined(_WIN32_WINNT)
  |  | 4997|       |#    define _WIN32_WINNT 0x0400
  |  | 4998|       |#  endif
  |  | 4999|       |#  include <windows.h>
  |  | 5000|       |#  if (ACC_CC_BORLANDC || ACC_CC_TURBOC)
  |  | 5001|       |#    include <dir.h>
  |  | 5002|       |#  endif
  |  | 5003|       |#elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_WIN16)
  |  | 5004|       |#  if (ACC_CC_AZTECC)
  |  | 5005|       |#    include <model.h>
  |  | 5006|       |#    include <stat.h>
  |  | 5007|       |#  elif (ACC_CC_BORLANDC || ACC_CC_TURBOC)
  |  | 5008|       |#    include <alloc.h>
  |  | 5009|       |#    include <dir.h>
  |  | 5010|       |#  elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 5011|       |#    include <sys/exceptn.h>
  |  | 5012|       |#  elif (ACC_CC_PACIFICC)
  |  | 5013|       |#    include <unixio.h>
  |  | 5014|       |#    include <stat.h>
  |  | 5015|       |#    include <sys.h>
  |  | 5016|       |#  elif (ACC_CC_WATCOMC)
  |  | 5017|       |#    include <i86.h>
  |  | 5018|       |#  endif
  |  | 5019|       |#elif (ACC_OS_OS216)
  |  | 5020|       |#  if (ACC_CC_WATCOMC)
  |  | 5021|       |#    include <i86.h>
  |  | 5022|       |#  endif
  |  | 5023|       |#endif
  |  | 5024|       |#if (HAVE_SYS_MMAN_H)
  |  | 5025|       |#  include <sys/mman.h>
  |  | 5026|       |#endif
  |  | 5027|       |#if (HAVE_SYS_RESOURCE_H)
  |  | 5028|       |#  include <sys/resource.h>
  |  | 5029|       |#endif
  |  | 5030|       |#if (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
  |  | 5031|       |#  if defined(FP_OFF)
  |  | 5032|       |#    define ACC_PTR_FP_OFF(x)   FP_OFF(x)
  |  | 5033|       |#  elif defined(_FP_OFF)
  |  | 5034|       |#    define ACC_PTR_FP_OFF(x)   _FP_OFF(x)
  |  | 5035|       |#  else
  |  | 5036|       |#    define ACC_PTR_FP_OFF(x)   (((const unsigned __far*)&(x))[0])
  |  | 5037|       |#  endif
  |  | 5038|       |#  if defined(FP_SEG)
  |  | 5039|       |#    define ACC_PTR_FP_SEG(x)   FP_SEG(x)
  |  | 5040|       |#  elif defined(_FP_SEG)
  |  | 5041|       |#    define ACC_PTR_FP_SEG(x)   _FP_SEG(x)
  |  | 5042|       |#  else
  |  | 5043|       |#    define ACC_PTR_FP_SEG(x)   (((const unsigned __far*)&(x))[1])
  |  | 5044|       |#  endif
  |  | 5045|       |#  if defined(MK_FP)
  |  | 5046|       |#    define ACC_PTR_MK_FP(s,o)  MK_FP(s,o)
  |  | 5047|       |#  elif defined(_MK_FP)
  |  | 5048|       |#    define ACC_PTR_MK_FP(s,o)  _MK_FP(s,o)
  |  | 5049|       |#  else
  |  | 5050|       |#    define ACC_PTR_MK_FP(s,o)  ((void __far*)(((unsigned long)(s)<<16)+(unsigned)(o)))
  |  | 5051|       |#  endif
  |  | 5052|       |#  if 0
  |  | 5053|       |#    undef ACC_PTR_FP_OFF
  |  | 5054|       |#    undef ACC_PTR_FP_SEG
  |  | 5055|       |#    undef ACC_PTR_MK_FP
  |  | 5056|       |#    define ACC_PTR_FP_OFF(x)   (((const unsigned __far*)&(x))[0])
  |  | 5057|       |#    define ACC_PTR_FP_SEG(x)   (((const unsigned __far*)&(x))[1])
  |  | 5058|       |#    define ACC_PTR_MK_FP(s,o)  ((void __far*)(((unsigned long)(s)<<16)+(unsigned)(o)))
  |  | 5059|       |#  endif
  |  | 5060|       |#endif
  |  | 5061|       |#endif
  |  | 5062|       |#endif
  |  | 5063|       |#endif
  |  | 5064|       |#if defined(ACC_WANT_ACC_LIB_H)
  |  | 5065|       |#  undef ACC_WANT_ACC_LIB_H
  |  | 5066|       |#ifndef __ACC_LIB_H_INCLUDED
  |  | 5067|       |#define __ACC_LIB_H_INCLUDED 1
  |  | 5068|       |#if !defined(__ACCLIB_FUNCNAME)
  |  | 5069|       |#  define __ACCLIB_FUNCNAME(f)  f
  |  | 5070|       |#endif
  |  | 5071|       |#if !defined(ACCLIB_EXTERN)
  |  | 5072|       |#  define ACCLIB_EXTERN(r,f)                extern r __ACCLIB_FUNCNAME(f)
  |  | 5073|       |#endif
  |  | 5074|       |#if !defined(ACCLIB_EXTERN_NOINLINE)
  |  | 5075|       |#  if defined(__acc_noinline)
  |  | 5076|       |#    define ACCLIB_EXTERN_NOINLINE(r,f)     extern __acc_noinline r __ACCLIB_FUNCNAME(f)
  |  | 5077|       |#  else
  |  | 5078|       |#    define ACCLIB_EXTERN_NOINLINE(r,f)     extern r __ACCLIB_FUNCNAME(f)
  |  | 5079|       |#  endif
  |  | 5080|       |#endif
  |  | 5081|       |#if (ACC_SIZEOF_LONG > ACC_SIZEOF_VOID_P)
  |  | 5082|       |#  define acclib_handle_t       long
  |  | 5083|       |#else
  |  | 5084|       |#  define acclib_handle_t       acc_intptr_t
  |  | 5085|       |#endif
  |  | 5086|       |#if 0
  |  | 5087|       |ACCLIB_EXTERN(int, acc_ascii_digit)   (int);
  |  | 5088|       |ACCLIB_EXTERN(int, acc_ascii_islower) (int);
  |  | 5089|       |ACCLIB_EXTERN(int, acc_ascii_isupper) (int);
  |  | 5090|       |ACCLIB_EXTERN(int, acc_ascii_tolower) (int);
  |  | 5091|       |ACCLIB_EXTERN(int, acc_ascii_toupper) (int);
  |  | 5092|       |ACCLIB_EXTERN(int, acc_ascii_utolower) (int);
  |  | 5093|       |ACCLIB_EXTERN(int, acc_ascii_utoupper) (int);
  |  | 5094|       |#endif
  |  | 5095|       |#define acc_ascii_isdigit(c)    ((ACC_ICAST(unsigned, c) - 48) < 10)
  |  | 5096|       |#define acc_ascii_islower(c)    ((ACC_ICAST(unsigned, c) - 97) < 26)
  |  | 5097|       |#define acc_ascii_isupper(c)    ((ACC_ICAST(unsigned, c) - 65) < 26)
  |  | 5098|       |#define acc_ascii_tolower(c)    (ACC_ICAST(int, c) + (acc_ascii_isupper(c) << 5))
  |  | 5099|       |#define acc_ascii_toupper(c)    (ACC_ICAST(int, c) - (acc_ascii_islower(c) << 5))
  |  | 5100|       |#define acc_ascii_utolower(c)   acc_ascii_tolower(ACC_ITRUNC(unsigned char, c))
  |  | 5101|       |#define acc_ascii_utoupper(c)   acc_ascii_toupper(ACC_ITRUNC(unsigned char, c))
  |  | 5102|       |#ifndef acc_hsize_t
  |  | 5103|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 5104|       |#  define acc_hsize_t   unsigned long
  |  | 5105|       |#  define acc_hvoid_p   void __huge *
  |  | 5106|       |#  define acc_hchar_p   char __huge *
  |  | 5107|       |#  define acc_hchar_pp  char __huge * __huge *
  |  | 5108|       |#  define acc_hbyte_p   unsigned char __huge *
  |  | 5109|       |#else
  |  | 5110|       |#  define acc_hsize_t   size_t
  |  | 5111|       |#  define acc_hvoid_p   void *
  |  | 5112|       |#  define acc_hchar_p   char *
  |  | 5113|       |#  define acc_hchar_pp  char **
  |  | 5114|       |#  define acc_hbyte_p   unsigned char *
  |  | 5115|       |#endif
  |  | 5116|       |#endif
  |  | 5117|       |ACCLIB_EXTERN(acc_hvoid_p, acc_halloc) (acc_hsize_t);
  |  | 5118|       |ACCLIB_EXTERN(void, acc_hfree) (acc_hvoid_p);
  |  | 5119|       |#if (ACC_OS_DOS16 || ACC_OS_OS216)
  |  | 5120|       |ACCLIB_EXTERN(void __far*, acc_dos_alloc) (unsigned long);
  |  | 5121|       |ACCLIB_EXTERN(int, acc_dos_free) (void __far*);
  |  | 5122|       |#endif
  |  | 5123|       |ACCLIB_EXTERN(int, acc_hmemcmp) (const acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);
  |  | 5124|       |ACCLIB_EXTERN(acc_hvoid_p, acc_hmemcpy) (acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);
  |  | 5125|       |ACCLIB_EXTERN(acc_hvoid_p, acc_hmemmove) (acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);
  |  | 5126|       |ACCLIB_EXTERN(acc_hvoid_p, acc_hmemset) (acc_hvoid_p, int, acc_hsize_t);
  |  | 5127|       |ACCLIB_EXTERN(acc_hsize_t, acc_hstrlen) (const acc_hchar_p);
  |  | 5128|       |ACCLIB_EXTERN(int, acc_hstrcmp) (const acc_hchar_p, const acc_hchar_p);
  |  | 5129|       |ACCLIB_EXTERN(int, acc_hstrncmp)(const acc_hchar_p, const acc_hchar_p, acc_hsize_t);
  |  | 5130|       |ACCLIB_EXTERN(int, acc_ascii_hstricmp) (const acc_hchar_p, const acc_hchar_p);
  |  | 5131|       |ACCLIB_EXTERN(int, acc_ascii_hstrnicmp)(const acc_hchar_p, const acc_hchar_p, acc_hsize_t);
  |  | 5132|       |ACCLIB_EXTERN(int, acc_ascii_hmemicmp) (const acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);
  |  | 5133|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrstr) (const acc_hchar_p, const acc_hchar_p);
  |  | 5134|       |ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstristr) (const acc_hchar_p, const acc_hchar_p);
  |  | 5135|       |ACCLIB_EXTERN(acc_hvoid_p, acc_hmemmem) (const acc_hvoid_p, acc_hsize_t, const acc_hvoid_p, acc_hsize_t);
  |  | 5136|       |ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemimem) (const acc_hvoid_p, acc_hsize_t, const acc_hvoid_p, acc_hsize_t);
  |  | 5137|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrcpy) (acc_hchar_p, const acc_hchar_p);
  |  | 5138|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrcat) (acc_hchar_p, const acc_hchar_p);
  |  | 5139|       |ACCLIB_EXTERN(acc_hsize_t, acc_hstrlcpy) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);
  |  | 5140|       |ACCLIB_EXTERN(acc_hsize_t, acc_hstrlcat) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);
  |  | 5141|       |ACCLIB_EXTERN(int, acc_hstrscpy) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);
  |  | 5142|       |ACCLIB_EXTERN(int, acc_hstrscat) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);
  |  | 5143|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrccpy) (acc_hchar_p, const acc_hchar_p, int);
  |  | 5144|       |ACCLIB_EXTERN(acc_hvoid_p, acc_hmemccpy) (acc_hvoid_p, const acc_hvoid_p, int, acc_hsize_t);
  |  | 5145|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrchr)  (const acc_hchar_p, int);
  |  | 5146|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrrchr) (const acc_hchar_p, int);
  |  | 5147|       |ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrichr) (const acc_hchar_p, int);
  |  | 5148|       |ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrrichr) (const acc_hchar_p, int);
  |  | 5149|       |ACCLIB_EXTERN(acc_hvoid_p, acc_hmemchr)  (const acc_hvoid_p, int, acc_hsize_t);
  |  | 5150|       |ACCLIB_EXTERN(acc_hvoid_p, acc_hmemrchr) (const acc_hvoid_p, int, acc_hsize_t);
  |  | 5151|       |ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemichr) (const acc_hvoid_p, int, acc_hsize_t);
  |  | 5152|       |ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemrichr) (const acc_hvoid_p, int, acc_hsize_t);
  |  | 5153|       |ACCLIB_EXTERN(acc_hsize_t, acc_hstrspn)  (const acc_hchar_p, const acc_hchar_p);
  |  | 5154|       |ACCLIB_EXTERN(acc_hsize_t, acc_hstrrspn) (const acc_hchar_p, const acc_hchar_p);
  |  | 5155|       |ACCLIB_EXTERN(acc_hsize_t, acc_hstrcspn)  (const acc_hchar_p, const acc_hchar_p);
  |  | 5156|       |ACCLIB_EXTERN(acc_hsize_t, acc_hstrrcspn) (const acc_hchar_p, const acc_hchar_p);
  |  | 5157|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrpbrk)  (const acc_hchar_p, const acc_hchar_p);
  |  | 5158|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrrpbrk) (const acc_hchar_p, const acc_hchar_p);
  |  | 5159|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrsep)  (acc_hchar_pp, const acc_hchar_p);
  |  | 5160|       |ACCLIB_EXTERN(acc_hchar_p, acc_hstrrsep) (acc_hchar_pp, const acc_hchar_p);
  |  | 5161|       |ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrlwr) (acc_hchar_p);
  |  | 5162|       |ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrupr) (acc_hchar_p);
  |  | 5163|       |ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemlwr) (acc_hvoid_p, acc_hsize_t);
  |  | 5164|       |ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemupr) (acc_hvoid_p, acc_hsize_t);
  |  | 5165|       |ACCLIB_EXTERN(acc_hsize_t, acc_hfread) (void *, acc_hvoid_p, acc_hsize_t);
  |  | 5166|       |ACCLIB_EXTERN(acc_hsize_t, acc_hfwrite) (void *, const acc_hvoid_p, acc_hsize_t);
  |  | 5167|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 5168|       |ACCLIB_EXTERN(long, acc_hread) (int, acc_hvoid_p, long);
  |  | 5169|       |ACCLIB_EXTERN(long, acc_hwrite) (int, const acc_hvoid_p, long);
  |  | 5170|       |#endif
  |  | 5171|       |ACCLIB_EXTERN(long, acc_safe_hread) (int, acc_hvoid_p, long);
  |  | 5172|       |ACCLIB_EXTERN(long, acc_safe_hwrite) (int, const acc_hvoid_p, long);
  |  | 5173|       |ACCLIB_EXTERN(unsigned, acc_ua_get_be16) (const acc_hvoid_p);
  |  | 5174|       |ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_be24) (const acc_hvoid_p);
  |  | 5175|       |ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_be32) (const acc_hvoid_p);
  |  | 5176|       |ACCLIB_EXTERN(void, acc_ua_set_be16) (acc_hvoid_p, unsigned);
  |  | 5177|       |ACCLIB_EXTERN(void, acc_ua_set_be24) (acc_hvoid_p, acc_uint32l_t);
  |  | 5178|       |ACCLIB_EXTERN(void, acc_ua_set_be32) (acc_hvoid_p, acc_uint32l_t);
  |  | 5179|       |ACCLIB_EXTERN(unsigned, acc_ua_get_le16) (const acc_hvoid_p);
  |  | 5180|       |ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_le24) (const acc_hvoid_p);
  |  | 5181|       |ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_le32) (const acc_hvoid_p);
  |  | 5182|       |ACCLIB_EXTERN(void, acc_ua_set_le16) (acc_hvoid_p, unsigned);
  |  | 5183|       |ACCLIB_EXTERN(void, acc_ua_set_le24) (acc_hvoid_p, acc_uint32l_t);
  |  | 5184|       |ACCLIB_EXTERN(void, acc_ua_set_le32) (acc_hvoid_p, acc_uint32l_t);
  |  | 5185|       |#if defined(acc_int64l_t)
  |  | 5186|       |ACCLIB_EXTERN(acc_uint64l_t, acc_ua_get_be64) (const acc_hvoid_p);
  |  | 5187|       |ACCLIB_EXTERN(void, acc_ua_set_be64) (acc_hvoid_p, acc_uint64l_t);
  |  | 5188|       |ACCLIB_EXTERN(acc_uint64l_t, acc_ua_get_le64) (const acc_hvoid_p);
  |  | 5189|       |ACCLIB_EXTERN(void, acc_ua_set_le64) (acc_hvoid_p, acc_uint64l_t);
  |  | 5190|       |#endif
  |  | 5191|       |ACCLIB_EXTERN_NOINLINE(short, acc_vget_short) (short, int);
  |  | 5192|       |ACCLIB_EXTERN_NOINLINE(int, acc_vget_int) (int, int);
  |  | 5193|       |ACCLIB_EXTERN_NOINLINE(long, acc_vget_long) (long, int);
  |  | 5194|       |#if defined(acc_int64l_t)
  |  | 5195|       |ACCLIB_EXTERN_NOINLINE(acc_int64l_t, acc_vget_acc_int64l_t) (acc_int64l_t, int);
  |  | 5196|       |#endif
  |  | 5197|       |ACCLIB_EXTERN_NOINLINE(acc_hsize_t, acc_vget_acc_hsize_t) (acc_hsize_t, int);
  |  | 5198|       |#if !(ACC_CFG_NO_FLOAT)
  |  | 5199|       |ACCLIB_EXTERN_NOINLINE(float, acc_vget_float) (float, int);
  |  | 5200|       |#endif
  |  | 5201|       |#if !(ACC_CFG_NO_DOUBLE)
  |  | 5202|       |ACCLIB_EXTERN_NOINLINE(double, acc_vget_double) (double, int);
  |  | 5203|       |#endif
  |  | 5204|       |ACCLIB_EXTERN_NOINLINE(acc_hvoid_p, acc_vget_acc_hvoid_p) (acc_hvoid_p, int);
  |  | 5205|       |ACCLIB_EXTERN_NOINLINE(const acc_hvoid_p, acc_vget_acc_hvoid_cp) (const acc_hvoid_p, int);
  |  | 5206|       |#if !defined(ACC_FN_PATH_MAX)
  |  | 5207|       |#if (ACC_OS_DOS16 || ACC_OS_WIN16)
  |  | 5208|       |#  define ACC_FN_PATH_MAX   143
  |  | 5209|       |#elif (ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 5210|       |#  define ACC_FN_PATH_MAX   259
  |  | 5211|       |#elif (ACC_OS_TOS)
  |  | 5212|       |#  define ACC_FN_PATH_MAX   259
  |  | 5213|       |#endif
  |  | 5214|       |#endif
  |  | 5215|       |#if !defined(ACC_FN_PATH_MAX)
  |  | 5216|       |#  define ACC_FN_PATH_MAX   1023
  |  | 5217|       |#endif
  |  | 5218|       |#if !defined(ACC_FN_NAME_MAX)
  |  | 5219|       |#if (ACC_OS_DOS16 || ACC_OS_WIN16)
  |  | 5220|       |#  define ACC_FN_NAME_MAX   12
  |  | 5221|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
  |  | 5222|       |#  define ACC_FN_NAME_MAX   12
  |  | 5223|       |#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 5224|       |#elif (ACC_OS_DOS32)
  |  | 5225|       |#  define ACC_FN_NAME_MAX   12
  |  | 5226|       |#endif
  |  | 5227|       |#endif
  |  | 5228|       |#if !defined(ACC_FN_NAME_MAX)
  |  | 5229|       |#  define ACC_FN_NAME_MAX   ACC_FN_PATH_MAX
  |  | 5230|       |#endif
  |  | 5231|       |#define ACC_FNMATCH_NOESCAPE        1
  |  | 5232|       |#define ACC_FNMATCH_PATHNAME        2
  |  | 5233|       |#define ACC_FNMATCH_PATHSTAR        4
  |  | 5234|       |#define ACC_FNMATCH_PERIOD          8
  |  | 5235|       |#define ACC_FNMATCH_ASCII_CASEFOLD  16
  |  | 5236|       |ACCLIB_EXTERN(int, acc_fnmatch) (const acc_hchar_p, const acc_hchar_p, int);
  |  | 5237|       |#undef __ACCLIB_USE_OPENDIR
  |  | 5238|       |#if (HAVE_DIRENT_H || ACC_CC_WATCOMC)
  |  | 5239|       |#  define __ACCLIB_USE_OPENDIR 1
  |  | 5240|       |#  if (ACC_OS_DOS32 && defined(__BORLANDC__))
  |  | 5241|       |#  elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 5242|       |#  elif (ACC_OS_OS2 || ACC_OS_OS216)
  |  | 5243|       |#  elif (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC)
  |  | 5244|       |#  elif (ACC_OS_WIN32 && !(ACC_HAVE_WINDOWS_H))
  |  | 5245|       |#  elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_TOS || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 5246|       |#    undef __ACCLIB_USE_OPENDIR
  |  | 5247|       |#  endif
  |  | 5248|       |#endif
  |  | 5249|       |typedef struct
  |  | 5250|       |{
  |  | 5251|       |#if defined(__ACCLIB_USE_OPENDIR)
  |  | 5252|       |    void* u_dirp;
  |  | 5253|       |# if (ACC_CC_WATCOMC)
  |  | 5254|       |    unsigned short f_time;
  |  | 5255|       |    unsigned short f_date;
  |  | 5256|       |    unsigned long f_size;
  |  | 5257|       |# endif
  |  | 5258|       |    char f_name[ACC_FN_NAME_MAX+1];
  |  | 5259|       |#elif (ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 5260|       |    acclib_handle_t u_handle;
  |  | 5261|       |    unsigned f_attr;
  |  | 5262|       |    unsigned f_size_low;
  |  | 5263|       |    unsigned f_size_high;
  |  | 5264|       |    char f_name[ACC_FN_NAME_MAX+1];
  |  | 5265|       |#elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_TOS || ACC_OS_WIN16)
  |  | 5266|       |    char u_dta[21];
  |  | 5267|       |    unsigned char f_attr;
  |  | 5268|       |    unsigned short f_time;
  |  | 5269|       |    unsigned short f_date;
  |  | 5270|       |    unsigned short f_size_low;
  |  | 5271|       |    unsigned short f_size_high;
  |  | 5272|       |    char f_name[ACC_FN_NAME_MAX+1];
  |  | 5273|       |    char u_dirp;
  |  | 5274|       |#else
  |  | 5275|       |    void* u_dirp;
  |  | 5276|       |    char f_name[ACC_FN_NAME_MAX+1];
  |  | 5277|       |#endif
  |  | 5278|       |} acc_dir_t;
  |  | 5279|       |#ifndef acc_dir_p
  |  | 5280|       |#define acc_dir_p acc_dir_t *
  |  | 5281|       |#endif
  |  | 5282|       |ACCLIB_EXTERN(int, acc_opendir)  (acc_dir_p, const char*);
  |  | 5283|       |ACCLIB_EXTERN(int, acc_readdir)  (acc_dir_p);
  |  | 5284|       |ACCLIB_EXTERN(int, acc_closedir) (acc_dir_p);
  |  | 5285|       |#if (ACC_CC_GNUC) && (defined(__CYGWIN__) || defined(__MINGW32__))
  |  | 5286|       |#  define acc_alloca(x)     __builtin_alloca((x))
  |  | 5287|       |#elif (ACC_CC_GNUC) && (ACC_OS_CONSOLE_PS2)
  |  | 5288|       |#  define acc_alloca(x)     __builtin_alloca((x))
  |  | 5289|       |#elif (ACC_CC_BORLANDC || ACC_CC_LCC) && defined(__linux__)
  |  | 5290|       |#elif (HAVE_ALLOCA)
  |  | 5291|       |#  define acc_alloca(x)     ACC_STATIC_CAST(void *, alloca((x)))
  |  | 5292|       |#endif
  |  | 5293|       |#if (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 5294|       |#  define acc_stackavail()  stackavail()
  |  | 5295|       |#elif (ACC_ARCH_I086 && ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0410))
  |  | 5296|       |#  define acc_stackavail()  stackavail()
  |  | 5297|       |#elif (ACC_ARCH_I086 && ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0400))
  |  | 5298|       |#  if (ACC_OS_WIN16) && (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
  |  | 5299|       |#  else
  |  | 5300|       |#    define acc_stackavail()  stackavail()
  |  | 5301|       |#  endif
  |  | 5302|       |#elif ((ACC_ARCH_I086 || ACC_ARCH_I386) && (ACC_CC_DMC || ACC_CC_SYMANTECC))
  |  | 5303|       |#  define acc_stackavail()  stackavail()
  |  | 5304|       |#elif ((ACC_ARCH_I086) && ACC_CC_MSC && (_MSC_VER >= 700))
  |  | 5305|       |#  define acc_stackavail()  _stackavail()
  |  | 5306|       |#elif ((ACC_ARCH_I086) && ACC_CC_MSC)
  |  | 5307|       |#  define acc_stackavail()  stackavail()
  |  | 5308|       |#elif ((ACC_ARCH_I086 || ACC_ARCH_I386) && ACC_CC_TURBOC && (__TURBOC__ >= 0x0450))
  |  | 5309|       |#  define acc_stackavail()  stackavail()
  |  | 5310|       |#elif (ACC_ARCH_I086 && ACC_CC_TURBOC && (__TURBOC__ >= 0x0400))
  |  | 5311|       |   ACC_EXTERN_C size_t __cdecl stackavail(void);
  |  | 5312|       |#  define acc_stackavail()  stackavail()
  |  | 5313|       |#elif ((ACC_ARCH_I086 || ACC_ARCH_I386) && (ACC_CC_WATCOMC))
  |  | 5314|       |#  define acc_stackavail()  stackavail()
  |  | 5315|       |#elif (ACC_ARCH_I086 && ACC_CC_ZORTECHC)
  |  | 5316|       |#  define acc_stackavail()  _chkstack()
  |  | 5317|       |#endif
  |  | 5318|       |ACCLIB_EXTERN(acc_intptr_t, acc_get_osfhandle) (int);
  |  | 5319|       |ACCLIB_EXTERN(const char *, acc_getenv) (const char *);
  |  | 5320|       |ACCLIB_EXTERN(int, acc_isatty) (int);
  |  | 5321|       |ACCLIB_EXTERN(int, acc_mkdir) (const char*, unsigned);
  |  | 5322|       |ACCLIB_EXTERN(int, acc_rmdir) (const char*);
  |  | 5323|       |ACCLIB_EXTERN(int, acc_response) (int*, char***);
  |  | 5324|       |ACCLIB_EXTERN(int, acc_set_binmode) (int, int);
  |  | 5325|       |#if defined(acc_int32e_t)
  |  | 5326|       |ACCLIB_EXTERN(acc_int32e_t, acc_muldiv32s) (acc_int32e_t, acc_int32e_t, acc_int32e_t);
  |  | 5327|       |ACCLIB_EXTERN(acc_uint32e_t, acc_muldiv32u) (acc_uint32e_t, acc_uint32e_t, acc_uint32e_t);
  |  | 5328|       |#endif
  |  | 5329|       |ACCLIB_EXTERN(void, acc_wildargv) (int*, char***);
  |  | 5330|       |ACCLIB_EXTERN_NOINLINE(void, acc_debug_break) (void);
  |  | 5331|       |ACCLIB_EXTERN_NOINLINE(void, acc_debug_nop) (void);
  |  | 5332|       |ACCLIB_EXTERN_NOINLINE(int, acc_debug_align_check_query) (void);
  |  | 5333|       |ACCLIB_EXTERN_NOINLINE(int, acc_debug_align_check_enable) (int);
  |  | 5334|       |ACCLIB_EXTERN_NOINLINE(unsigned, acc_debug_running_on_qemu) (void);
  |  | 5335|       |ACCLIB_EXTERN_NOINLINE(unsigned, acc_debug_running_on_valgrind) (void);
  |  | 5336|       |#if defined(acc_int32e_t)
  |  | 5337|       |ACCLIB_EXTERN(int, acc_tsc_read) (acc_uint32e_t*);
  |  | 5338|       |#endif
  |  | 5339|       |struct acc_pclock_handle_t;
  |  | 5340|       |struct acc_pclock_t;
  |  | 5341|       |typedef struct acc_pclock_handle_t acc_pclock_handle_t;
  |  | 5342|       |typedef struct acc_pclock_t acc_pclock_t;
  |  | 5343|       |#ifndef acc_pclock_handle_p
  |  | 5344|       |#define acc_pclock_handle_p acc_pclock_handle_t *
  |  | 5345|       |#endif
  |  | 5346|       |#ifndef acc_pclock_p
  |  | 5347|       |#define acc_pclock_p acc_pclock_t *
  |  | 5348|       |#endif
  |  | 5349|       |#define ACC_PCLOCK_REALTIME             0
  |  | 5350|       |#define ACC_PCLOCK_MONOTONIC            1
  |  | 5351|       |#define ACC_PCLOCK_PROCESS_CPUTIME_ID   2
  |  | 5352|       |#define ACC_PCLOCK_THREAD_CPUTIME_ID    3
  |  | 5353|       |typedef int (*acc_pclock_gettime_t) (acc_pclock_handle_p, acc_pclock_p);
  |  | 5354|       |struct acc_pclock_handle_t {
  |  | 5355|       |    acclib_handle_t h;
  |  | 5356|       |    int mode;
  |  | 5357|       |    int read_error;
  |  | 5358|       |    const char* name;
  |  | 5359|       |    acc_pclock_gettime_t gettime;
  |  | 5360|       |#if defined(acc_int64l_t)
  |  | 5361|       |    acc_uint64l_t ticks_base;
  |  | 5362|       |#endif
  |  | 5363|       |};
  |  | 5364|       |struct acc_pclock_t {
  |  | 5365|       |#if defined(acc_int64l_t)
  |  | 5366|       |    acc_int64l_t tv_sec;
  |  | 5367|       |#else
  |  | 5368|       |    acc_int32l_t tv_sec_high;
  |  | 5369|       |    acc_uint32l_t tv_sec_low;
  |  | 5370|       |#endif
  |  | 5371|       |    acc_uint32l_t tv_nsec;
  |  | 5372|       |};
  |  | 5373|       |ACCLIB_EXTERN(int, acc_pclock_open)  (acc_pclock_handle_p, int);
  |  | 5374|       |ACCLIB_EXTERN(int, acc_pclock_open_default) (acc_pclock_handle_p);
  |  | 5375|       |ACCLIB_EXTERN(int, acc_pclock_close) (acc_pclock_handle_p);
  |  | 5376|       |ACCLIB_EXTERN(void, acc_pclock_read) (acc_pclock_handle_p, acc_pclock_p);
  |  | 5377|       |#if !(ACC_CFG_NO_DOUBLE)
  |  | 5378|       |ACCLIB_EXTERN(double, acc_pclock_get_elapsed) (acc_pclock_handle_p, const acc_pclock_p, const acc_pclock_p);
  |  | 5379|       |#endif
  |  | 5380|       |ACCLIB_EXTERN(int, acc_pclock_flush_cpu_cache) (acc_pclock_handle_p, unsigned);
  |  | 5381|       |struct acc_getopt_t;
  |  | 5382|       |typedef struct acc_getopt_t acc_getopt_t;
  |  | 5383|       |#ifndef acc_getopt_p
  |  | 5384|       |#define acc_getopt_p acc_getopt_t *
  |  | 5385|       |#endif
  |  | 5386|       |struct acc_getopt_longopt_t;
  |  | 5387|       |typedef struct acc_getopt_longopt_t acc_getopt_longopt_t;
  |  | 5388|       |#ifndef acc_getopt_longopt_p
  |  | 5389|       |#define acc_getopt_longopt_p acc_getopt_longopt_t *
  |  | 5390|       |#endif
  |  | 5391|       |struct acc_getopt_longopt_t {
  |  | 5392|       |    const char* name;
  |  | 5393|       |    int has_arg;
  |  | 5394|       |    int* flag;
  |  | 5395|       |    int val;
  |  | 5396|       |};
  |  | 5397|       |typedef void (*acc_getopt_opterr_t)(acc_getopt_p, const char*, void *);
  |  | 5398|       |struct acc_getopt_t {
  |  | 5399|       |    void *user;
  |  | 5400|       |    const char *progname;
  |  | 5401|       |    int bad_option;
  |  | 5402|       |    char *optarg;
  |  | 5403|       |    acc_getopt_opterr_t opterr;
  |  | 5404|       |    int optind;
  |  | 5405|       |    int optopt;
  |  | 5406|       |    int errcount;
  |  | 5407|       |    int argc; char** argv;
  |  | 5408|       |    int eof; int shortpos;
  |  | 5409|       |    int pending_rotate_first, pending_rotate_middle;
  |  | 5410|       |};
  |  | 5411|       |enum { ACC_GETOPT_NO_ARG, ACC_GETOPT_REQUIRED_ARG, ACC_GETOPT_OPTIONAL_ARG, ACC_GETOPT_EXACT_ARG = 0x10 };
  |  | 5412|       |enum { ACC_GETOPT_PERMUTE, ACC_GETOPT_RETURN_IN_ORDER, ACC_GETOPT_REQUIRE_ORDER };
  |  | 5413|       |ACCLIB_EXTERN(void, acc_getopt_init) (acc_getopt_p g,
  |  | 5414|       |                                      int start_argc, int argc, char** argv);
  |  | 5415|       |ACCLIB_EXTERN(int, acc_getopt) (acc_getopt_p g,
  |  | 5416|       |                                const char* shortopts,
  |  | 5417|       |                                const acc_getopt_longopt_p longopts,
  |  | 5418|       |                                int* longind);
  |  | 5419|       |typedef struct {
  |  | 5420|       |    acc_uint32l_t seed;
  |  | 5421|       |} acc_rand31_t;
  |  | 5422|       |#ifndef acc_rand31_p
  |  | 5423|       |#define acc_rand31_p acc_rand31_t *
  |  | 5424|       |#endif
  |  | 5425|       |ACCLIB_EXTERN(void, acc_srand31) (acc_rand31_p, acc_uint32l_t);
  |  | 5426|       |ACCLIB_EXTERN(acc_uint32l_t, acc_rand31) (acc_rand31_p);
  |  | 5427|       |#if defined(acc_int64l_t)
  |  | 5428|       |typedef struct {
  |  | 5429|       |    acc_uint64l_t seed;
  |  | 5430|       |} acc_rand48_t;
  |  | 5431|       |#ifndef acc_rand48_p
  |  | 5432|       |#define acc_rand48_p acc_rand48_t *
  |  | 5433|       |#endif
  |  | 5434|       |ACCLIB_EXTERN(void, acc_srand48) (acc_rand48_p, acc_uint32l_t);
  |  | 5435|       |ACCLIB_EXTERN(acc_uint32l_t, acc_rand48) (acc_rand48_p);
  |  | 5436|       |ACCLIB_EXTERN(acc_uint32l_t, acc_rand48_r32) (acc_rand48_p);
  |  | 5437|       |#endif
  |  | 5438|       |#if defined(acc_int64l_t)
  |  | 5439|       |typedef struct {
  |  | 5440|       |    acc_uint64l_t seed;
  |  | 5441|       |} acc_rand64_t;
  |  | 5442|       |#ifndef acc_rand64_p
  |  | 5443|       |#define acc_rand64_p acc_rand64_t *
  |  | 5444|       |#endif
  |  | 5445|       |ACCLIB_EXTERN(void, acc_srand64) (acc_rand64_p, acc_uint64l_t);
  |  | 5446|       |ACCLIB_EXTERN(acc_uint32l_t, acc_rand64) (acc_rand64_p);
  |  | 5447|       |ACCLIB_EXTERN(acc_uint32l_t, acc_rand64_r32) (acc_rand64_p);
  |  | 5448|       |#endif
  |  | 5449|       |typedef struct {
  |  | 5450|       |    unsigned n;
  |  | 5451|       |    acc_uint32l_t s[624];
  |  | 5452|       |} acc_randmt_t;
  |  | 5453|       |#ifndef acc_randmt_p
  |  | 5454|       |#define acc_randmt_p acc_randmt_t *
  |  | 5455|       |#endif
  |  | 5456|       |ACCLIB_EXTERN(void, acc_srandmt) (acc_randmt_p, acc_uint32l_t);
  |  | 5457|       |ACCLIB_EXTERN(acc_uint32l_t, acc_randmt) (acc_randmt_p);
  |  | 5458|       |ACCLIB_EXTERN(acc_uint32l_t, acc_randmt_r32) (acc_randmt_p);
  |  | 5459|       |#if defined(acc_int64l_t)
  |  | 5460|       |typedef struct {
  |  | 5461|       |    unsigned n;
  |  | 5462|       |    acc_uint64l_t s[312];
  |  | 5463|       |} acc_randmt64_t;
  |  | 5464|       |#ifndef acc_randmt64_p
  |  | 5465|       |#define acc_randmt64_p acc_randmt64_t *
  |  | 5466|       |#endif
  |  | 5467|       |ACCLIB_EXTERN(void, acc_srandmt64) (acc_randmt64_p, acc_uint64l_t);
  |  | 5468|       |ACCLIB_EXTERN(acc_uint64l_t, acc_randmt64_r64) (acc_randmt64_p);
  |  | 5469|       |#endif
  |  | 5470|       |#define ACC_SPAWN_P_WAIT    0
  |  | 5471|       |#define ACC_SPAWN_P_NOWAIT  1
  |  | 5472|       |ACCLIB_EXTERN(int, acc_spawnv)  (int mode, const char* fn, const char* const * argv);
  |  | 5473|       |ACCLIB_EXTERN(int, acc_spawnvp) (int mode, const char* fn, const char* const * argv);
  |  | 5474|       |ACCLIB_EXTERN(int, acc_spawnve) (int mode, const char* fn, const char* const * argv, const char * const envp);
  |  | 5475|       |#endif
  |  | 5476|       |#endif
  |  | 5477|       |#if defined(ACC_WANT_ACC_CXX_H)
  |  | 5478|       |#  undef ACC_WANT_ACC_CXX_H
  |  | 5479|       |#ifndef __ACC_CXX_H_INCLUDED
  |  | 5480|       |#define __ACC_CXX_H_INCLUDED 1
  |  | 5481|       |#if defined(__cplusplus)
  |  | 5482|       |#if defined(ACC_CXX_NOTHROW)
  |  | 5483|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul))
  |  | 5484|       |#elif (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0450))
  |  | 5485|       |#elif (ACC_CC_GHS && !defined(__EXCEPTIONS))
  |  | 5486|       |#elif (ACC_CC_HIGHC)
  |  | 5487|       |#elif (ACC_CC_MSC && (_MSC_VER < 1100))
  |  | 5488|       |#elif (ACC_CC_NDPC)
  |  | 5489|       |#elif (ACC_CC_TURBOC)
  |  | 5490|       |#elif (ACC_CC_WATCOMC && !defined(_CPPUNWIND))
  |  | 5491|       |#elif (ACC_CC_ZORTECHC)
  |  | 5492|       |#else
  |  | 5493|       |#  define ACC_CXX_NOTHROW           throw()
  |  | 5494|       |#endif
  |  | 5495|       |#if !defined(ACC_CXX_NOTHROW)
  |  | 5496|       |#  define ACC_CXX_NOTHROW           /*empty*/
  |  | 5497|       |#endif
  |  | 5498|       |#if defined(__ACC_CXX_DO_NEW)
  |  | 5499|       |#elif (ACC_CC_GHS || ACC_CC_NDPC || ACC_CC_PGI)
  |  | 5500|       |#  define __ACC_CXX_DO_NEW          { return 0; }
  |  | 5501|       |#elif ((ACC_CC_BORLANDC || ACC_CC_TURBOC) && ACC_ARCH_I086)
  |  | 5502|       |#  define __ACC_CXX_DO_NEW          { return 0; }
  |  | 5503|       |#else
  |  | 5504|       |#  define __ACC_CXX_DO_NEW          ;
  |  | 5505|       |#endif
  |  | 5506|       |#if defined(__ACC_CXX_DO_DELETE)
  |  | 5507|       |#elif (ACC_CC_BORLANDC || ACC_CC_TURBOC)
  |  | 5508|       |#  define __ACC_CXX_DO_DELETE       { }
  |  | 5509|       |#else
  |  | 5510|       |#  define __ACC_CXX_DO_DELETE       ACC_CXX_NOTHROW { }
  |  | 5511|       |#endif
  |  | 5512|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0450))
  |  | 5513|       |#elif (ACC_CC_MSC && ACC_MM_HUGE)
  |  | 5514|       |#  define ACC_CXX_DISABLE_NEW_DELETE private:
  |  | 5515|       |#elif (ACC_CC_MSC && (_MSC_VER < 1100))
  |  | 5516|       |#elif (ACC_CC_NDPC)
  |  | 5517|       |#elif (ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
  |  | 5518|       |#elif (ACC_CC_TURBOC)
  |  | 5519|       |#elif (ACC_CC_WATCOMC && (__WATCOMC__ < 1100))
  |  | 5520|       |#else
  |  | 5521|       |#  define __ACC_CXX_HAVE_ARRAY_NEW 1
  |  | 5522|       |#endif
  |  | 5523|       |#if (__ACC_CXX_HAVE_ARRAY_NEW)
  |  | 5524|       |#  define __ACC_CXX_HAVE_PLACEMENT_NEW 1
  |  | 5525|       |#endif
  |  | 5526|       |#if (__ACC_CXX_HAVE_PLACEMENT_NEW)
  |  | 5527|       |#  if (ACC_CC_GNUC >= 0x030000ul)
  |  | 5528|       |#    define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
  |  | 5529|       |#  elif (ACC_CC_INTELC)
  |  | 5530|       |#    define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
  |  | 5531|       |#  elif (ACC_CC_MSC && (_MSC_VER >= 1200))
  |  | 5532|       |#    define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
  |  | 5533|       |#  elif (ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
  |  | 5534|       |#    define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
  |  | 5535|       |#  elif (ACC_CC_PGI)
  |  | 5536|       |#    define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
  |  | 5537|       |#  endif
  |  | 5538|       |#endif
  |  | 5539|       |#if defined(ACC_CXX_DISABLE_NEW_DELETE)
  |  | 5540|       |#elif defined(new) || defined(delete)
  |  | 5541|       |#  define ACC_CXX_DISABLE_NEW_DELETE private:
  |  | 5542|       |#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x025b00ul))
  |  | 5543|       |#  define ACC_CXX_DISABLE_NEW_DELETE private:
  |  | 5544|       |#elif  (ACC_CC_HIGHC)
  |  | 5545|       |#  define ACC_CXX_DISABLE_NEW_DELETE private:
  |  | 5546|       |#elif !(__ACC_CXX_HAVE_ARRAY_NEW)
  |  | 5547|       |#  define ACC_CXX_DISABLE_NEW_DELETE \
  |  | 5548|       |        protected: static void operator delete(void*) __ACC_CXX_DO_DELETE \
  |  | 5549|       |        protected: static void* operator new(size_t) __ACC_CXX_DO_NEW \
  |  | 5550|       |        private:
  |  | 5551|       |#else
  |  | 5552|       |#  define ACC_CXX_DISABLE_NEW_DELETE \
  |  | 5553|       |        protected: static void operator delete(void*) __ACC_CXX_DO_DELETE \
  |  | 5554|       |                   static void operator delete[](void*) __ACC_CXX_DO_DELETE \
  |  | 5555|       |        private:   static void* operator new(size_t)  __ACC_CXX_DO_NEW \
  |  | 5556|       |                   static void* operator new[](size_t) __ACC_CXX_DO_NEW
  |  | 5557|       |#endif
  |  | 5558|       |#if defined(ACC_CXX_TRIGGER_FUNCTION)
  |  | 5559|       |#else
  |  | 5560|       |#  define ACC_CXX_TRIGGER_FUNCTION \
  |  | 5561|       |        protected: virtual const void* acc_cxx_trigger_function() const; \
  |  | 5562|       |        private:
  |  | 5563|       |#endif
  |  | 5564|       |#if defined(ACC_CXX_TRIGGER_FUNCTION_IMPL)
  |  | 5565|       |#else
  |  | 5566|       |#  define ACC_CXX_TRIGGER_FUNCTION_IMPL(klass) \
  |  | 5567|       |        const void* klass::acc_cxx_trigger_function() const { return ACC_STATIC_CAST(const void *, ACC_nullptr); }
  |  | 5568|       |#endif
  |  | 5569|       |#endif
  |  | 5570|       |#endif
  |  | 5571|       |#endif
  |  | 5572|  28.2k|#if defined(ACC_WANT_ACC_CHK_CH)
  |  | 5573|  28.2k|#  undef ACC_WANT_ACC_CHK_CH
  |  | 5574|       |#if !defined(ACCCHK_ASSERT)
  |  | 5575|       |#  define ACCCHK_ASSERT(expr)   ACC_COMPILE_TIME_ASSERT_HEADER(expr)
  |  | 5576|       |#endif
  |  | 5577|       |#if !defined(ACCCHK_ASSERT_SIGN_T)
  |  | 5578|       |#  define ACCCHK_ASSERT_SIGN_T(type,relop) \
  |  | 5579|       |        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  | 5580|       |        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  | 5581|       |        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  | 5582|       |#endif
  |  | 5583|       |#if !defined(ACCCHK_ASSERT_IS_SIGNED_T)
  |  | 5584|       |#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  | 5585|       |#endif
  |  | 5586|       |#if !defined(ACCCHK_ASSERT_IS_UNSIGNED_T)
  |  | 5587|       |#  if (ACC_BROKEN_INTEGRAL_PROMOTION)
  |  | 5588|       |#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type) \
  |  | 5589|       |        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1) > ACC_STATIC_CAST(type, 0) )
  |  | 5590|       |#  else
  |  | 5591|       |#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  | 5592|       |#  endif
  |  | 5593|       |#endif
  |  | 5594|       |#if defined(ACCCHK_CFG_PEDANTIC)
  |  | 5595|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0550) && (__BORLANDC__ < 0x0560))
  |  | 5596|       |#  pragma option push -w-8055
  |  | 5597|       |#elif (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0550))
  |  | 5598|       |#  pragma option push -w-osh
  |  | 5599|       |#endif
  |  | 5600|       |#endif
  |  | 5601|       |#if (ACC_0xffffffffL - ACC_UINT32_C(4294967294) != 1)
  |  | 5602|       |#  error "preprocessor error"
  |  | 5603|       |#endif
  |  | 5604|       |#if (ACC_0xffffffffL - ACC_UINT32_C(0xfffffffd) != 2)
  |  | 5605|       |#  error "preprocessor error"
  |  | 5606|       |#endif
  |  | 5607|       |#if +0
  |  | 5608|       |#  error "preprocessor error"
  |  | 5609|       |#endif
  |  | 5610|       |#if -0
  |  | 5611|       |#  error "preprocessor error"
  |  | 5612|       |#endif
  |  | 5613|       |#if +0 != 0
  |  | 5614|       |#  error "preprocessor error"
  |  | 5615|       |#endif
  |  | 5616|       |#if -0 != 0
  |  | 5617|       |#  error "preprocessor error"
  |  | 5618|       |#endif
  |  | 5619|  28.2k|#define ACCCHK_VAL  1
  |  | 5620|  28.2k|#define ACCCHK_TMP1 ACCCHK_VAL
  |  | 5621|  28.2k|#undef ACCCHK_VAL
  |  | 5622|  28.2k|#define ACCCHK_VAL  2
  |  | 5623|  28.2k|#define ACCCHK_TMP2 ACCCHK_VAL
  |  | 5624|       |#if (ACCCHK_TMP1 != 2)
  |  | 5625|       |#  error "preprocessor error 3a"
  |  | 5626|       |#endif
  |  | 5627|       |#if (ACCCHK_TMP2 != 2)
  |  | 5628|       |#  error "preprocessor error 3b"
  |  | 5629|       |#endif
  |  | 5630|  28.2k|#undef ACCCHK_VAL
  |  | 5631|       |#if (ACCCHK_TMP2)
  |  | 5632|       |#  error "preprocessor error 3c"
  |  | 5633|       |#endif
  |  | 5634|       |#if (ACCCHK_TMP2 + 0 != 0)
  |  | 5635|       |#  error "preprocessor error 3d"
  |  | 5636|       |#endif
  |  | 5637|  28.2k|#undef ACCCHK_TMP1
  |  | 5638|  28.2k|#undef ACCCHK_TMP2
  |  | 5639|       |#if 0 || defined(ACCCHK_CFG_PEDANTIC)
  |  | 5640|       |#  if (ACC_ARCH_MIPS) && defined(_MIPS_SZINT)
  |  | 5641|       |    ACCCHK_ASSERT((_MIPS_SZINT) == 8 * sizeof(int))
  |  | 5642|       |#  endif
  |  | 5643|       |#  if (ACC_ARCH_MIPS) && defined(_MIPS_SZLONG)
  |  | 5644|       |    ACCCHK_ASSERT((_MIPS_SZLONG) == 8 * sizeof(long))
  |  | 5645|       |#  endif
  |  | 5646|       |#  if (ACC_ARCH_MIPS) && defined(_MIPS_SZPTR)
  |  | 5647|       |    ACCCHK_ASSERT((_MIPS_SZPTR) == 8 * sizeof(void *))
  |  | 5648|       |#  endif
  |  | 5649|       |#endif
  |  | 5650|  28.2k|    ACCCHK_ASSERT(1 == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5651|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,1) == 1u)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5652|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,2) == 3u)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5653|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,3) == 7u)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5654|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,8) == 255u)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5655|  28.2k|#if (ACC_SIZEOF_INT >= 2)
  |  | 5656|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1,15) == 32767)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5657|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,16) == 0xffffU)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5658|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0u,16) == 0u)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5659|  28.2k|#endif
  |  | 5660|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,16) == 0xffffUL)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5661|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0ul,16) == 0ul)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5662|  28.2k|#if (ACC_SIZEOF_INT >= 4)
  |  | 5663|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1,31) == 2147483647)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5664|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,32) == 0xffffffffU)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5665|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0u,32) == 0u)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5666|  28.2k|#endif
  |  | 5667|  28.2k|#if (ACC_SIZEOF_LONG >= 4)
  |  | 5668|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,32) == 0xffffffffUL)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5669|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0ul,32) == 0ul)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5670|  28.2k|#endif
  |  | 5671|  28.2k|#if (ACC_SIZEOF_LONG >= 8)
  |  | 5672|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,64) == 0xffffffffffffffffUL)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5673|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0ul,64) == 0ul)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5674|  28.2k|#endif
  |  | 5675|  28.2k|#if !(ACC_BROKEN_INTEGRAL_PROMOTION)
  |  | 5676|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,ACC_SIZEOF_INT*8) == ~0u)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5677|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,ACC_SIZEOF_LONG*8) == ~0ul)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5678|  28.2k|#endif
  |  | 5679|  28.2k|#if 1
  |  | 5680|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0,0) == 0)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5681|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1,0) == 0)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5682|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,0) == 0)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5683|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,0) == 0)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5684|  28.2k|#endif
  |  | 5685|  28.2k|#if 1
  |  | 5686|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,1) == 2)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5687|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,1) == 4)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5688|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(8,1) == 8)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5689|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,2) == 2+4)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5690|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,2) == 4+8)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5691|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(8,2) == 8+16)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5692|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,3) == 2+4+8)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5693|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,3) == 4+8+16)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5694|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(8,3) == 8+16+32)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5695|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(7,1) == 7)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5696|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(7,2) == 7+14)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5697|  28.2k|    ACCCHK_ASSERT(__ACC_MASK_GEN(7,3) == 7+14+28)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5698|  28.2k|#endif
  |  | 5699|  28.2k|#if !(ACC_BROKEN_SIGNED_RIGHT_SHIFT)
  |  | 5700|  28.2k|    ACCCHK_ASSERT(((-1) >> 7) == -1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5701|  28.2k|#endif
  |  | 5702|  28.2k|    ACCCHK_ASSERT(((1)  >> 7) == 0)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5703|       |#if (ACC_CC_INTELC && (__INTEL_COMPILER >= 900))
  |  | 5704|       |#  pragma warning(push)
  |  | 5705|       |#  pragma warning(disable: 1025)
  |  | 5706|       |#endif
  |  | 5707|  28.2k|    ACCCHK_ASSERT((~0l  & ~0)  == ~0l)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5708|  28.2k|    ACCCHK_ASSERT((~0l  & ~0u) == ~0u)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5709|  28.2k|    ACCCHK_ASSERT((~0ul & ~0)  == ~0ul)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5710|  28.2k|    ACCCHK_ASSERT((~0ul & ~0u) == ~0u)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5711|       |#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
  |  | 5712|       |#elif (ACC_SIZEOF_INT == 2)
  |  | 5713|       |    ACCCHK_ASSERT((~0l  & ~0u) == 0xffffU)
  |  | 5714|       |    ACCCHK_ASSERT((~0ul & ~0u) == 0xffffU)
  |  | 5715|       |#elif (ACC_SIZEOF_INT == 4)
  |  | 5716|  28.2k|    ACCCHK_ASSERT((~0l  & ~0u) == 0xffffffffU)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5717|  28.2k|    ACCCHK_ASSERT((~0ul & ~0u) == 0xffffffffU)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5718|  28.2k|#endif
  |  | 5719|       |#if (ACC_CC_INTELC && (__INTEL_COMPILER >= 900))
  |  | 5720|       |#  pragma warning(pop)
  |  | 5721|       |#endif
  |  | 5722|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(signed char)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5723|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned char)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5724|  28.2k|    ACCCHK_ASSERT(sizeof(signed char) == sizeof(char))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5725|  28.2k|    ACCCHK_ASSERT(sizeof(unsigned char) == sizeof(char))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5726|  28.2k|    ACCCHK_ASSERT(sizeof(char) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5727|       |#if (ACC_CC_CILLY) && (!defined(__CILLY__) || (__CILLY__ < 0x010302L))
  |  | 5728|       |#else
  |  | 5729|  28.2k|    ACCCHK_ASSERT(sizeof(char) == sizeof(ACC_STATIC_CAST(char, 0)))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5730|  28.2k|#endif
  |  | 5731|  28.2k|#if defined(__cplusplus)
  |  | 5732|  28.2k|    ACCCHK_ASSERT(sizeof('\0') == sizeof(char))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5733|       |#else
  |  | 5734|       |#  if (ACC_CC_DMC)
  |  | 5735|       |#  else
  |  | 5736|       |    ACCCHK_ASSERT(sizeof('\0') == sizeof(int))
  |  | 5737|       |#  endif
  |  | 5738|       |#endif
  |  | 5739|  28.2k|#if defined(__acc_alignof)
  |  | 5740|  28.2k|    ACCCHK_ASSERT(__acc_alignof(char) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5741|  28.2k|    ACCCHK_ASSERT(__acc_alignof(signed char) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5742|  28.2k|    ACCCHK_ASSERT(__acc_alignof(unsigned char) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5743|  28.2k|#if defined(acc_int16e_t)
  |  | 5744|  28.2k|    ACCCHK_ASSERT(__acc_alignof(acc_int16e_t) >= 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5745|  28.2k|    ACCCHK_ASSERT(__acc_alignof(acc_int16e_t) <= 2)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5746|  28.2k|#endif
  |  | 5747|  28.2k|#if defined(acc_int32e_t)
  |  | 5748|  28.2k|    ACCCHK_ASSERT(__acc_alignof(acc_int32e_t) >= 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5749|  28.2k|    ACCCHK_ASSERT(__acc_alignof(acc_int32e_t) <= 4)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5750|  28.2k|#endif
  |  | 5751|  28.2k|#endif
  |  | 5752|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(short)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5753|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned short)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5754|  28.2k|    ACCCHK_ASSERT(sizeof(short) == sizeof(unsigned short))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5755|  28.2k|#if !(ACC_ABI_I8LP16)
  |  | 5756|  28.2k|    ACCCHK_ASSERT(sizeof(short) >= 2)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5757|  28.2k|#endif
  |  | 5758|  28.2k|    ACCCHK_ASSERT(sizeof(short) >= sizeof(char))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5759|       |#if (ACC_CC_CILLY) && (!defined(__CILLY__) || (__CILLY__ < 0x010302L))
  |  | 5760|       |#else
  |  | 5761|  28.2k|    ACCCHK_ASSERT(sizeof(short) == sizeof(ACC_STATIC_CAST(short, 0)))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5762|  28.2k|#endif
  |  | 5763|  28.2k|#if (ACC_SIZEOF_SHORT > 0)
  |  | 5764|  28.2k|    ACCCHK_ASSERT(sizeof(short) == ACC_SIZEOF_SHORT)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5765|  28.2k|#endif
  |  | 5766|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(int)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5767|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5768|  28.2k|    ACCCHK_ASSERT(sizeof(int) == sizeof(unsigned))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5769|  28.2k|#if !(ACC_ABI_I8LP16)
  |  | 5770|  28.2k|    ACCCHK_ASSERT(sizeof(int) >= 2)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5771|  28.2k|#endif
  |  | 5772|  28.2k|    ACCCHK_ASSERT(sizeof(int) >= sizeof(short))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5773|  28.2k|    ACCCHK_ASSERT(sizeof(int) == sizeof(0))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5774|  28.2k|    ACCCHK_ASSERT(sizeof(int) == sizeof(ACC_STATIC_CAST(int, 0)))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5775|  28.2k|#if (ACC_SIZEOF_INT > 0)
  |  | 5776|  28.2k|    ACCCHK_ASSERT(sizeof(int) == ACC_SIZEOF_INT)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5777|  28.2k|#endif
  |  | 5778|  28.2k|    ACCCHK_ASSERT(sizeof(0) == sizeof(int))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5779|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(long)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5780|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned long)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5781|  28.2k|    ACCCHK_ASSERT(sizeof(long) == sizeof(unsigned long))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5782|  28.2k|#if !(ACC_ABI_I8LP16)
  |  | 5783|  28.2k|    ACCCHK_ASSERT(sizeof(long) >= 4)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5784|  28.2k|#endif
  |  | 5785|  28.2k|    ACCCHK_ASSERT(sizeof(long) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5786|  28.2k|    ACCCHK_ASSERT(sizeof(long) == sizeof(0L))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5787|  28.2k|    ACCCHK_ASSERT(sizeof(long) == sizeof(ACC_STATIC_CAST(long, 0)))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5788|  28.2k|#if (ACC_SIZEOF_LONG > 0)
  |  | 5789|  28.2k|    ACCCHK_ASSERT(sizeof(long) == ACC_SIZEOF_LONG)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5790|  28.2k|#endif
  |  | 5791|  28.2k|    ACCCHK_ASSERT(sizeof(0L) == sizeof(long))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5792|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(size_t)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5793|  28.2k|    ACCCHK_ASSERT(sizeof(size_t) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5794|  28.2k|    ACCCHK_ASSERT(sizeof(size_t) == sizeof(sizeof(0)))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5795|  28.2k|#if (ACC_SIZEOF_SIZE_T > 0)
  |  | 5796|  28.2k|    ACCCHK_ASSERT(sizeof(size_t) == ACC_SIZEOF_SIZE_T)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5797|  28.2k|#endif
  |  | 5798|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(ptrdiff_t)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5799|  28.2k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5800|  28.2k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(size_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5801|  28.2k|#if !(ACC_BROKEN_SIZEOF)
  |  | 5802|       |#if (ACC_CC_CLANG) && !defined(__cplusplus)
  |  | 5803|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(ACC_REINTERPRET_CAST(char*, 1) - ACC_REINTERPRET_CAST(char*, 1)))
  |  | 5804|       |#else
  |  | 5805|  28.2k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(ACC_STATIC_CAST(char*, ACC_nullptr) - ACC_STATIC_CAST(char*, ACC_nullptr)))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5806|  28.2k|#endif
  |  | 5807|       |# if (ACC_HAVE_MM_HUGE_PTR)
  |  | 5808|       |    ACCCHK_ASSERT(4 == sizeof(ACC_STATIC_CAST(char __huge*, 0) - ACC_STATIC_CAST(char __huge*, 0)))
  |  | 5809|       |# endif
  |  | 5810|  28.2k|#endif
  |  | 5811|  28.2k|#if (ACC_SIZEOF_PTRDIFF_T > 0)
  |  | 5812|  28.2k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) == ACC_SIZEOF_PTRDIFF_T)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5813|  28.2k|#endif
  |  | 5814|  28.2k|    ACCCHK_ASSERT(sizeof(void*) >= sizeof(char*))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5815|  28.2k|#if (ACC_SIZEOF_VOID_P > 0)
  |  | 5816|  28.2k|    ACCCHK_ASSERT(sizeof(void*) == ACC_SIZEOF_VOID_P)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5817|  28.2k|    ACCCHK_ASSERT(sizeof(char*) == ACC_SIZEOF_VOID_P)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5818|  28.2k|#endif
  |  | 5819|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 5820|       |    ACCCHK_ASSERT(4 == sizeof(void __huge*))
  |  | 5821|       |    ACCCHK_ASSERT(4 == sizeof(char __huge*))
  |  | 5822|       |#endif
  |  | 5823|       |#if (ACC_ABI_I8LP16)
  |  | 5824|       |    ACCCHK_ASSERT((((1u  <<  7) + 1) >>  7) == 1)
  |  | 5825|       |    ACCCHK_ASSERT((((1ul << 15) + 1) >> 15) == 1)
  |  | 5826|       |#else
  |  | 5827|  28.2k|    ACCCHK_ASSERT((((1u  << 15) + 1) >> 15) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5828|  28.2k|    ACCCHK_ASSERT((((1ul << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5829|  28.2k|#endif
  |  | 5830|       |#if defined(ACCCHK_CFG_PEDANTIC)
  |  | 5831|       |#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
  |  | 5832|       |#else
  |  | 5833|       |    ACCCHK_ASSERT((1   << (8*ACC_SIZEOF_INT-1)) < 0)
  |  | 5834|       |#endif
  |  | 5835|       |#endif
  |  | 5836|  28.2k|    ACCCHK_ASSERT((1u  << (8*ACC_SIZEOF_INT-1)) > 0)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5837|       |#if defined(ACCCHK_CFG_PEDANTIC)
  |  | 5838|       |    ACCCHK_ASSERT((1l  << (8*ACC_SIZEOF_LONG-1)) < 0)
  |  | 5839|       |#endif
  |  | 5840|  28.2k|    ACCCHK_ASSERT((1ul << (8*ACC_SIZEOF_LONG-1)) > 0)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5841|  28.2k|#if defined(acc_int16e_t)
  |  | 5842|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int16e_t) == 2)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5843|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int16e_t) == ACC_SIZEOF_ACC_INT16E_T)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5844|  28.2k|    ACCCHK_ASSERT(sizeof(acc_uint16e_t) == 2)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5845|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int16e_t) == sizeof(acc_uint16e_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5846|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int16e_t)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5847|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint16e_t)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5848|       |#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
  |  | 5849|       |#else
  |  | 5850|  28.2k|    ACCCHK_ASSERT((ACC_STATIC_CAST(acc_uint16e_t, (~ACC_STATIC_CAST(acc_uint16e_t,0ul))) >> 15) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5851|  28.2k|#endif
  |  | 5852|  28.2k|    ACCCHK_ASSERT( ACC_STATIC_CAST(acc_int16e_t, (1 + ~ACC_STATIC_CAST(acc_int16e_t, 0))) == 0)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5853|       |#if defined(ACCCHK_CFG_PEDANTIC)
  |  | 5854|       |    ACCCHK_ASSERT( ACC_STATIC_CAST(acc_uint16e_t, (1 + ~ACC_STATIC_CAST(acc_uint16e_t, 0))) == 0)
  |  | 5855|       |#endif
  |  | 5856|  28.2k|#endif
  |  | 5857|  28.2k|#if defined(acc_int32e_t)
  |  | 5858|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int32e_t) == 4)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5859|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int32e_t) == ACC_SIZEOF_ACC_INT32E_T)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5860|  28.2k|    ACCCHK_ASSERT(sizeof(acc_uint32e_t) == 4)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5861|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int32e_t) == sizeof(acc_uint32e_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5862|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int32e_t)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5863|  28.2k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int32e_t, 1) << 30) + 1) >> 30) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5864|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32e_t)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5865|  28.2k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint32e_t, 1) << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5866|  28.2k|    ACCCHK_ASSERT((ACC_STATIC_CAST(acc_uint32e_t, (~ACC_STATIC_CAST(acc_uint32e_t, 0ul))) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5867|  28.2k|    ACCCHK_ASSERT( ACC_STATIC_CAST(acc_int32e_t, (1 + ~ACC_STATIC_CAST(acc_int32e_t, 0))) == 0)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5868|       |#if defined(ACCCHK_CFG_PEDANTIC)
  |  | 5869|       |    ACCCHK_ASSERT( ACC_STATIC_CAST(acc_uint32e_t, (1 + ~ACC_STATIC_CAST(acc_uint32e_t, 0))) == 0)
  |  | 5870|       |#endif
  |  | 5871|  28.2k|#endif
  |  | 5872|  28.2k|#if defined(acc_int32e_t)
  |  | 5873|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) >= sizeof(acc_int32e_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5874|  28.2k|#endif
  |  | 5875|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) >= 4)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5876|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) == ACC_SIZEOF_ACC_INT32L_T)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5877|  28.2k|    ACCCHK_ASSERT(sizeof(acc_uint32l_t) >= 4)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5878|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) == sizeof(acc_uint32l_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5879|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int32l_t)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5880|  28.2k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int32l_t, 1) << 30) + 1) >> 30) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5881|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32l_t)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5882|  28.2k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint32l_t, 1) << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5883|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5884|  28.2k|#if defined(acc_int32e_t)
  |  | 5885|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32e_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5886|  28.2k|#endif
  |  | 5887|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32l_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5888|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= 4)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5889|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32l_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5890|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) == ACC_SIZEOF_ACC_INT32F_T)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5891|  28.2k|    ACCCHK_ASSERT(sizeof(acc_uint32f_t) >= 4)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5892|  28.2k|    ACCCHK_ASSERT(sizeof(acc_uint32f_t) >= sizeof(acc_uint32l_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5893|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) == sizeof(acc_uint32f_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5894|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int32f_t)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5895|  28.2k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int32f_t, 1) << 30) + 1) >> 30) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5896|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32f_t)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5897|  28.2k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint32f_t, 1) << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5898|  28.2k|#if defined(acc_int64e_t)
  |  | 5899|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int64e_t) == 8)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5900|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int64e_t) == ACC_SIZEOF_ACC_INT64E_T)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5901|  28.2k|    ACCCHK_ASSERT(sizeof(acc_uint64e_t) == 8)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5902|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int64e_t) == sizeof(acc_uint64e_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5903|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int64e_t)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5904|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0530))
  |  | 5905|       |#else
  |  | 5906|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint64e_t)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5907|  28.2k|#endif
  |  | 5908|  28.2k|#endif
  |  | 5909|  28.2k|#if defined(acc_int64l_t)
  |  | 5910|  28.2k|#if defined(acc_int64e_t)
  |  | 5911|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) >= sizeof(acc_int64e_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5912|  28.2k|#endif
  |  | 5913|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) >= 8)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5914|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) == ACC_SIZEOF_ACC_INT64L_T)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5915|  28.2k|    ACCCHK_ASSERT(sizeof(acc_uint64l_t) >= 8)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5916|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) == sizeof(acc_uint64l_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5917|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int64l_t)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5918|  28.2k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int64l_t, 1) << 62) + 1) >> 62) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5919|  28.2k|    ACCCHK_ASSERT(((( ACC_INT64_C(1) << 62) + 1) >> 62) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5920|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0530))
  |  | 5921|       |#else
  |  | 5922|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint64l_t)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5923|  28.2k|    ACCCHK_ASSERT(ACC_UINT64_C(18446744073709551615)     > 0)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5924|  28.2k|#endif
  |  | 5925|  28.2k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint64l_t, 1) << 63) + 1) >> 63) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5926|  28.2k|    ACCCHK_ASSERT(((( ACC_UINT64_C(1) << 63) + 1) >> 63) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5927|       |#if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020600ul))
  |  | 5928|       |    ACCCHK_ASSERT(ACC_INT64_C(9223372036854775807)       > ACC_INT64_C(0))
  |  | 5929|       |#else
  |  | 5930|  28.2k|    ACCCHK_ASSERT(ACC_INT64_C(9223372036854775807)       > 0)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5931|  28.2k|#endif
  |  | 5932|  28.2k|    ACCCHK_ASSERT(ACC_INT64_C(-9223372036854775807) - 1  < 0)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5933|  28.2k|    ACCCHK_ASSERT( ACC_INT64_C(9223372036854775807) % ACC_INT32_C(2147483629)  == 721)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5934|  28.2k|    ACCCHK_ASSERT( ACC_INT64_C(9223372036854775807) % ACC_INT32_C(2147483647)  == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5935|  28.2k|    ACCCHK_ASSERT(ACC_UINT64_C(9223372036854775807) % ACC_UINT32_C(2147483629) == 721)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5936|  28.2k|    ACCCHK_ASSERT(ACC_UINT64_C(9223372036854775807) % ACC_UINT32_C(2147483647) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5937|  28.2k|#endif
  |  | 5938|  28.2k|#if defined(acc_int64f_t)
  |  | 5939|  28.2k|#if defined(acc_int64e_t)
  |  | 5940|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= sizeof(acc_int64e_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5941|  28.2k|#endif
  |  | 5942|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= sizeof(acc_int64l_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5943|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= 8)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5944|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= sizeof(acc_int64l_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5945|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) == ACC_SIZEOF_ACC_INT64F_T)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5946|  28.2k|    ACCCHK_ASSERT(sizeof(acc_uint64f_t) >= 8)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5947|  28.2k|    ACCCHK_ASSERT(sizeof(acc_uint64f_t) >= sizeof(acc_uint64l_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5948|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) == sizeof(acc_uint64f_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5949|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int64f_t)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5950|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0530))
  |  | 5951|       |#else
  |  | 5952|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint64f_t)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5953|  28.2k|#endif
  |  | 5954|  28.2k|#endif
  |  | 5955|  28.2k|#if !defined(__ACC_INTPTR_T_IS_POINTER)
  |  | 5956|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_intptr_t)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5957|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uintptr_t)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5958|  28.2k|#endif
  |  | 5959|  28.2k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) >= sizeof(void *))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5960|  28.2k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) == ACC_SIZEOF_ACC_INTPTR_T)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5961|  28.2k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(acc_uintptr_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5962|  28.2k|#if defined(acc_word_t)
  |  | 5963|  28.2k|    ACCCHK_ASSERT(ACC_WORDSIZE == ACC_SIZEOF_ACC_WORD_T)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5964|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_word_t)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5965|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_sword_t)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5966|  28.2k|    ACCCHK_ASSERT(sizeof(acc_word_t) == ACC_SIZEOF_ACC_WORD_T)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5967|  28.2k|    ACCCHK_ASSERT(sizeof(acc_word_t) == sizeof(acc_sword_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5968|  28.2k|#endif
  |  | 5969|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int8_t) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5970|  28.2k|    ACCCHK_ASSERT(sizeof(acc_uint8_t) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5971|  28.2k|    ACCCHK_ASSERT(sizeof(acc_int8_t) == sizeof(acc_uint8_t))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5972|  28.2k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int8_t)
  |  |  ------------------
  |  |  |  | 5584|  28.2k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5973|  28.2k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint8_t)
  |  |  ------------------
  |  |  |  | 5591|  28.2k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  28.2k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5974|  28.2k|#if defined(ACC_INT16_C)
  |  | 5975|  28.2k|    ACCCHK_ASSERT(sizeof(ACC_INT16_C(0)) >= 2)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5976|  28.2k|    ACCCHK_ASSERT(sizeof(ACC_UINT16_C(0)) >= 2)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5977|  28.2k|    ACCCHK_ASSERT((ACC_UINT16_C(0xffff) >> 15) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5978|  28.2k|#endif
  |  | 5979|  28.2k|#if defined(ACC_INT32_C)
  |  | 5980|  28.2k|    ACCCHK_ASSERT(sizeof(ACC_INT32_C(0)) >= 4)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5981|  28.2k|    ACCCHK_ASSERT(sizeof(ACC_UINT32_C(0)) >= 4)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5982|  28.2k|    ACCCHK_ASSERT((ACC_UINT32_C(0xffffffff) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5983|  28.2k|#endif
  |  | 5984|  28.2k|#if defined(ACC_INT64_C)
  |  | 5985|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0560))
  |  | 5986|       |#else
  |  | 5987|  28.2k|    ACCCHK_ASSERT(sizeof(ACC_INT64_C(0)) >= 8)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5988|  28.2k|    ACCCHK_ASSERT(sizeof(ACC_UINT64_C(0)) >= 8)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5989|  28.2k|#endif
  |  | 5990|  28.2k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) >> 63) == 1)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5991|  28.2k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & ~0)  == ACC_UINT64_C(0xffffffffffffffff))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5992|  28.2k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & ~0l) == ACC_UINT64_C(0xffffffffffffffff))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5993|  28.2k|#if (ACC_SIZEOF_INT == 4)
  |  | 5994|       |# if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020000ul))
  |  | 5995|       |# else
  |  | 5996|  28.2k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & (~0u+0u)) == 0xffffffffu)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5997|  28.2k|# endif
  |  | 5998|  28.2k|#endif
  |  | 5999|       |#if (ACC_SIZEOF_LONG == 4)
  |  | 6000|       |# if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020000ul))
  |  | 6001|       |# else
  |  | 6002|       |    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & (~0ul+0ul)) == 0xfffffffful)
  |  | 6003|       |# endif
  |  | 6004|       |#endif
  |  | 6005|  28.2k|#endif
  |  | 6006|       |#if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
  |  | 6007|       |    ACCCHK_ASSERT(sizeof(void*) == 2)
  |  | 6008|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == 2)
  |  | 6009|       |#elif (ACC_MM_COMPACT || ACC_MM_LARGE || ACC_MM_HUGE)
  |  | 6010|       |    ACCCHK_ASSERT(sizeof(void*) == 4)
  |  | 6011|       |#endif
  |  | 6012|       |#if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_COMPACT)
  |  | 6013|       |    ACCCHK_ASSERT(sizeof(void (*)(void)) == 2)
  |  | 6014|       |#elif (ACC_MM_MEDIUM || ACC_MM_LARGE || ACC_MM_HUGE)
  |  | 6015|       |    ACCCHK_ASSERT(sizeof(void (*)(void)) == 4)
  |  | 6016|       |#endif
  |  | 6017|       |#if (ACC_ABI_ILP32)
  |  | 6018|       |    ACCCHK_ASSERT(sizeof(int) == 4)
  |  | 6019|       |    ACCCHK_ASSERT(sizeof(long) == 4)
  |  | 6020|       |    ACCCHK_ASSERT(sizeof(void*) == 4)
  |  | 6021|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
  |  | 6022|       |    ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
  |  | 6023|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6024|       |#endif
  |  | 6025|       |#if (ACC_ABI_ILP64)
  |  | 6026|       |    ACCCHK_ASSERT(sizeof(int) == 8)
  |  | 6027|       |    ACCCHK_ASSERT(sizeof(long) == 8)
  |  | 6028|       |    ACCCHK_ASSERT(sizeof(void*) == 8)
  |  | 6029|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
  |  | 6030|       |    ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
  |  | 6031|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6032|       |#endif
  |  | 6033|       |#if (ACC_ABI_IP32L64)
  |  | 6034|       |    ACCCHK_ASSERT(sizeof(int) == 4)
  |  | 6035|       |    ACCCHK_ASSERT(sizeof(long) == 8)
  |  | 6036|       |    ACCCHK_ASSERT(sizeof(void*) == 4)
  |  | 6037|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
  |  | 6038|       |    ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
  |  | 6039|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6040|       |#endif
  |  | 6041|       |#if (ACC_ABI_LLP64)
  |  | 6042|       |    ACCCHK_ASSERT(sizeof(int) == 4)
  |  | 6043|       |    ACCCHK_ASSERT(sizeof(long) == 4)
  |  | 6044|       |    ACCCHK_ASSERT(sizeof(void*) == 8)
  |  | 6045|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
  |  | 6046|       |    ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
  |  | 6047|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6048|       |#endif
  |  | 6049|       |#if (ACC_ABI_LP32)
  |  | 6050|       |    ACCCHK_ASSERT(sizeof(int) == 2)
  |  | 6051|       |    ACCCHK_ASSERT(sizeof(long) == 4)
  |  | 6052|       |    ACCCHK_ASSERT(sizeof(void*) == 4)
  |  | 6053|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6054|       |#endif
  |  | 6055|  28.2k|#if (ACC_ABI_LP64)
  |  | 6056|  28.2k|    ACCCHK_ASSERT(sizeof(int) == 4)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6057|  28.2k|    ACCCHK_ASSERT(sizeof(long) == 8)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6058|  28.2k|    ACCCHK_ASSERT(sizeof(void*) == 8)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6059|  28.2k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6060|  28.2k|    ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6061|  28.2k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6062|  28.2k|#endif
  |  | 6063|       |#if (ACC_ABI_IP32W64)
  |  | 6064|       |    ACCCHK_ASSERT(sizeof(int) == 4)
  |  | 6065|       |    ACCCHK_ASSERT(sizeof(void*) == 4)
  |  | 6066|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
  |  | 6067|       |    ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
  |  | 6068|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6069|       |    ACCCHK_ASSERT(ACC_WORDSIZE == 8)
  |  | 6070|       |#endif
  |  | 6071|       |#if (ACC_ARCH_I086)
  |  | 6072|       |    ACCCHK_ASSERT(sizeof(size_t) == 2)
  |  | 6073|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6074|       |#elif (ACC_ARCH_I386 || ACC_ARCH_M68K)
  |  | 6075|       |    ACCCHK_ASSERT(sizeof(size_t) == 4)
  |  | 6076|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == 4)
  |  | 6077|       |    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  | 6078|       |#endif
  |  | 6079|       |#if (ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_WIN32)
  |  | 6080|       |    ACCCHK_ASSERT(sizeof(size_t) == 4)
  |  | 6081|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == 4)
  |  | 6082|       |    ACCCHK_ASSERT(sizeof(void (*)(void)) == 4)
  |  | 6083|       |#elif (ACC_OS_WIN64)
  |  | 6084|       |    ACCCHK_ASSERT(sizeof(size_t) == 8)
  |  | 6085|       |    ACCCHK_ASSERT(sizeof(ptrdiff_t) == 8)
  |  | 6086|       |    ACCCHK_ASSERT(sizeof(void (*)(void)) == 8)
  |  | 6087|       |#endif
  |  | 6088|       |#if (ACC_CC_NDPC)
  |  | 6089|       |#elif (ACC_SIZEOF_INT > 1)
  |  | 6090|  28.2k|    ACCCHK_ASSERT( ACC_STATIC_CAST(int, ACC_STATIC_CAST(unsigned char, ACC_STATIC_CAST(signed char, -1))) == 255)
  |  |  ------------------
  |  |  |  |  875|  28.2k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6091|  28.2k|#endif
  |  | 6092|       |#if defined(ACCCHK_CFG_PEDANTIC)
  |  | 6093|       |#if (ACC_CC_KEILC)
  |  | 6094|       |#elif (ACC_CC_NDPC)
  |  | 6095|       |#elif !(ACC_BROKEN_INTEGRAL_PROMOTION) && (ACC_SIZEOF_INT > 1)
  |  | 6096|       |    ACCCHK_ASSERT( ((ACC_STATIC_CAST(unsigned char, 128)) << ACC_STATIC_CAST(int, (8*sizeof(int)-8))) < 0)
  |  | 6097|       |#endif
  |  | 6098|       |#endif
  |  | 6099|       |#if defined(ACCCHK_CFG_PEDANTIC)
  |  | 6100|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0560))
  |  | 6101|       |#  pragma option pop
  |  | 6102|       |#endif
  |  | 6103|       |#endif
  |  | 6104|  28.2k|#endif
  |  | 6105|       |#if defined(ACC_WANT_ACCLIB_UA)
  |  | 6106|       |#  undef ACC_WANT_ACCLIB_UA
  |  | 6107|       |#define __ACCLIB_UA_CH_INCLUDED 1
  |  | 6108|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6109|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 6110|       |#endif
  |  | 6111|       |ACCLIB_PUBLIC(unsigned, acc_ua_get_be16) (const acc_hvoid_p p)
  |  | 6112|       |{
  |  | 6113|       |#if defined(ACC_UA_GET_BE16)
  |  | 6114|       |    return ACC_UA_GET_BE16(p);
  |  | 6115|       |#else
  |  | 6116|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6117|       |    return ACC_ICONV(unsigned, b[1]) | (ACC_ICONV(unsigned, b[0]) << 8);
  |  | 6118|       |#endif
  |  | 6119|       |}
  |  | 6120|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_ua_get_be24) (const acc_hvoid_p p)
  |  | 6121|       |{
  |  | 6122|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6123|       |    return ACC_ICONV(acc_uint32l_t, b[2]) | (ACC_ICONV(acc_uint32l_t, b[1]) << 8) | (ACC_ICONV(acc_uint32l_t, b[0]) << 16);
  |  | 6124|       |}
  |  | 6125|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_ua_get_be32) (const acc_hvoid_p p)
  |  | 6126|       |{
  |  | 6127|       |#if defined(ACC_UA_GET_BE32)
  |  | 6128|       |    return ACC_UA_GET_BE32(p);
  |  | 6129|       |#else
  |  | 6130|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6131|       |    return ACC_ICONV(acc_uint32l_t, b[3]) | (ACC_ICONV(acc_uint32l_t, b[2]) << 8) | (ACC_ICONV(acc_uint32l_t, b[1]) << 16) | (ACC_ICONV(acc_uint32l_t, b[0]) << 24);
  |  | 6132|       |#endif
  |  | 6133|       |}
  |  | 6134|       |ACCLIB_PUBLIC(void, acc_ua_set_be16) (acc_hvoid_p p, unsigned v)
  |  | 6135|       |{
  |  | 6136|       |#if defined(ACC_UA_SET_BE16)
  |  | 6137|       |    ACC_UA_SET_BE16(p, v);
  |  | 6138|       |#else
  |  | 6139|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6140|       |    b[1] = ACC_ICONV(unsigned char, (v >>  0) & 0xff);
  |  | 6141|       |    b[0] = ACC_ICONV(unsigned char, (v >>  8) & 0xff);
  |  | 6142|       |#endif
  |  | 6143|       |}
  |  | 6144|       |ACCLIB_PUBLIC(void, acc_ua_set_be24) (acc_hvoid_p p, acc_uint32l_t v)
  |  | 6145|       |{
  |  | 6146|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6147|       |    b[2] = ACC_ICONV(unsigned char, (v >>  0) & 0xff);
  |  | 6148|       |    b[1] = ACC_ICONV(unsigned char, (v >>  8) & 0xff);
  |  | 6149|       |    b[0] = ACC_ICONV(unsigned char, (v >> 16) & 0xff);
  |  | 6150|       |}
  |  | 6151|       |ACCLIB_PUBLIC(void, acc_ua_set_be32) (acc_hvoid_p p, acc_uint32l_t v)
  |  | 6152|       |{
  |  | 6153|       |#if defined(ACC_UA_SET_BE32)
  |  | 6154|       |    ACC_UA_SET_BE32(p, v);
  |  | 6155|       |#else
  |  | 6156|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6157|       |    b[3] = ACC_ICONV(unsigned char, (v >>  0) & 0xff);
  |  | 6158|       |    b[2] = ACC_ICONV(unsigned char, (v >>  8) & 0xff);
  |  | 6159|       |    b[1] = ACC_ICONV(unsigned char, (v >> 16) & 0xff);
  |  | 6160|       |    b[0] = ACC_ICONV(unsigned char, (v >> 24) & 0xff);
  |  | 6161|       |#endif
  |  | 6162|       |}
  |  | 6163|       |ACCLIB_PUBLIC(unsigned, acc_ua_get_le16) (const acc_hvoid_p p)
  |  | 6164|       |{
  |  | 6165|       |#if defined(ACC_UA_GET_LE16)
  |  | 6166|       |    return ACC_UA_GET_LE16(p);
  |  | 6167|       |#else
  |  | 6168|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6169|       |    return ACC_ICONV(unsigned, b[0]) | (ACC_ICONV(unsigned, b[1]) << 8);
  |  | 6170|       |#endif
  |  | 6171|       |}
  |  | 6172|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_ua_get_le24) (const acc_hvoid_p p)
  |  | 6173|       |{
  |  | 6174|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6175|       |    return ACC_ICONV(acc_uint32l_t, b[0]) | (ACC_ICONV(acc_uint32l_t, b[1]) << 8) | (ACC_ICONV(acc_uint32l_t, b[2]) << 16);
  |  | 6176|       |}
  |  | 6177|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_ua_get_le32) (const acc_hvoid_p p)
  |  | 6178|       |{
  |  | 6179|       |#if defined(ACC_UA_GET_LE32)
  |  | 6180|       |    return ACC_UA_GET_LE32(p);
  |  | 6181|       |#else
  |  | 6182|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6183|       |    return ACC_ICONV(acc_uint32l_t, b[0]) | (ACC_ICONV(acc_uint32l_t, b[1]) << 8) | (ACC_ICONV(acc_uint32l_t, b[2]) << 16) | (ACC_ICONV(acc_uint32l_t, b[3]) << 24);
  |  | 6184|       |#endif
  |  | 6185|       |}
  |  | 6186|       |ACCLIB_PUBLIC(void, acc_ua_set_le16) (acc_hvoid_p p, unsigned v)
  |  | 6187|       |{
  |  | 6188|       |#if defined(ACC_UA_SET_LE16)
  |  | 6189|       |    ACC_UA_SET_LE16(p, v);
  |  | 6190|       |#else
  |  | 6191|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6192|       |    b[0] = ACC_ICONV(unsigned char, (v >>  0) & 0xff);
  |  | 6193|       |    b[1] = ACC_ICONV(unsigned char, (v >>  8) & 0xff);
  |  | 6194|       |#endif
  |  | 6195|       |}
  |  | 6196|       |ACCLIB_PUBLIC(void, acc_ua_set_le24) (acc_hvoid_p p, acc_uint32l_t v)
  |  | 6197|       |{
  |  | 6198|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6199|       |    b[0] = ACC_ICONV(unsigned char, (v >>  0) & 0xff);
  |  | 6200|       |    b[1] = ACC_ICONV(unsigned char, (v >>  8) & 0xff);
  |  | 6201|       |    b[2] = ACC_ICONV(unsigned char, (v >> 16) & 0xff);
  |  | 6202|       |}
  |  | 6203|       |ACCLIB_PUBLIC(void, acc_ua_set_le32) (acc_hvoid_p p, acc_uint32l_t v)
  |  | 6204|       |{
  |  | 6205|       |#if defined(ACC_UA_SET_LE32)
  |  | 6206|       |    ACC_UA_SET_LE32(p, v);
  |  | 6207|       |#else
  |  | 6208|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6209|       |    b[0] = ACC_ICONV(unsigned char, (v >>  0) & 0xff);
  |  | 6210|       |    b[1] = ACC_ICONV(unsigned char, (v >>  8) & 0xff);
  |  | 6211|       |    b[2] = ACC_ICONV(unsigned char, (v >> 16) & 0xff);
  |  | 6212|       |    b[3] = ACC_ICONV(unsigned char, (v >> 24) & 0xff);
  |  | 6213|       |#endif
  |  | 6214|       |}
  |  | 6215|       |#if defined(acc_int64l_t)
  |  | 6216|       |ACCLIB_PUBLIC(acc_uint64l_t, acc_ua_get_be64) (const acc_hvoid_p p)
  |  | 6217|       |{
  |  | 6218|       |#if defined(ACC_UA_GET_BE64)
  |  | 6219|       |    return ACC_UA_GET_BE64(p);
  |  | 6220|       |#elif defined(ACC_UA_GET_BE32)
  |  | 6221|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6222|       |    acc_uint32e_t v0, v1;
  |  | 6223|       |    v1 = ACC_UA_GET_BE32(b + 0);
  |  | 6224|       |    v0 = ACC_UA_GET_BE32(b + 4);
  |  | 6225|       |    return ACC_ICONV(acc_uint64l_t, v0) | (ACC_ICONV(acc_uint64l_t, v1) << 32);
  |  | 6226|       |#elif (ACC_WORDSIZE >= 8)
  |  | 6227|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6228|       |    return (ACC_ICONV(acc_uint64l_t, b[7])) | (ACC_ICONV(acc_uint64l_t, b[6]) << 8) | (ACC_ICONV(acc_uint64l_t, b[5]) << 16) | (ACC_ICONV(acc_uint64l_t, b[4]) << 24) | (ACC_ICONV(acc_uint64l_t, b[3]) << 32) | (ACC_ICONV(acc_uint64l_t, b[2]) << 40) | (ACC_ICONV(acc_uint64l_t, b[1]) << 48) | (ACC_ICONV(acc_uint64l_t, b[0]) << 56);
  |  | 6229|       |#else
  |  | 6230|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6231|       |    acc_uint32l_t v0, v1;
  |  | 6232|       |    v1 = ACC_ICONV(acc_uint32l_t, b[3]) | (ACC_ICONV(acc_uint32l_t, b[2]) << 8) | (ACC_ICONV(acc_uint32l_t, b[1]) << 16) | (ACC_ICONV(acc_uint32l_t, b[0]) << 24);
  |  | 6233|       |    b += 4;
  |  | 6234|       |    v0 = ACC_ICONV(acc_uint32l_t, b[3]) | (ACC_ICONV(acc_uint32l_t, b[2]) << 8) | (ACC_ICONV(acc_uint32l_t, b[1]) << 16) | (ACC_ICONV(acc_uint32l_t, b[0]) << 24);
  |  | 6235|       |    return ACC_ICONV(acc_uint64l_t, v0) | (ACC_ICONV(acc_uint64l_t, v1) << 32);
  |  | 6236|       |#endif
  |  | 6237|       |}
  |  | 6238|       |ACCLIB_PUBLIC(void, acc_ua_set_be64) (acc_hvoid_p p, acc_uint64l_t v)
  |  | 6239|       |{
  |  | 6240|       |#if defined(ACC_UA_SET_BE64)
  |  | 6241|       |    ACC_UA_SET_BE64(p, v);
  |  | 6242|       |#elif defined(ACC_UA_SET_BE32)
  |  | 6243|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6244|       |    ACC_UA_SET_BE32(b + 4, v);
  |  | 6245|       |    v >>= 32;
  |  | 6246|       |    ACC_UA_SET_BE32(b + 0, v);
  |  | 6247|       |#elif (ACC_WORDSIZE >= 8)
  |  | 6248|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6249|       |    b[7] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6250|       |    b[6] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6251|       |    b[5] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6252|       |    b[4] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6253|       |    b[3] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6254|       |    b[2] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6255|       |    b[1] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6256|       |    b[0] = ACC_ITRUNC(unsigned char, v);
  |  | 6257|       |#else
  |  | 6258|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6259|       |    acc_uint32l_t x;
  |  | 6260|       |    x = ACC_ITRUNC(acc_uint32l_t, v);
  |  | 6261|       |    b[7] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6262|       |    b[6] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6263|       |    b[5] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6264|       |    b[4] = ACC_ITRUNC(unsigned char, x);
  |  | 6265|       |    v >>= 32;
  |  | 6266|       |    x = ACC_ITRUNC(acc_uint32l_t, v);
  |  | 6267|       |    b[3] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6268|       |    b[2] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6269|       |    b[1] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6270|       |    b[0] = ACC_ITRUNC(unsigned char, x);
  |  | 6271|       |#endif
  |  | 6272|       |}
  |  | 6273|       |#endif
  |  | 6274|       |#if defined(acc_int64l_t)
  |  | 6275|       |ACCLIB_PUBLIC(acc_uint64l_t, acc_ua_get_le64) (const acc_hvoid_p p)
  |  | 6276|       |{
  |  | 6277|       |#if defined(ACC_UA_GET_LE64)
  |  | 6278|       |    return ACC_UA_GET_LE64(p);
  |  | 6279|       |#elif defined(ACC_UA_GET_LE32)
  |  | 6280|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6281|       |    acc_uint32e_t v0, v1;
  |  | 6282|       |    v0 = ACC_UA_GET_LE32(b + 0);
  |  | 6283|       |    v1 = ACC_UA_GET_LE32(b + 4);
  |  | 6284|       |    return ACC_ICONV(acc_uint64l_t, v0) | (ACC_ICONV(acc_uint64l_t, v1) << 32);
  |  | 6285|       |#elif (ACC_WORDSIZE >= 8)
  |  | 6286|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6287|       |    return ACC_ICONV(acc_uint64l_t, b[0]) | (ACC_ICONV(acc_uint64l_t, b[1]) << 8) | (ACC_ICONV(acc_uint64l_t, b[2]) << 16) | (ACC_ICONV(acc_uint64l_t, b[3]) << 24) | (ACC_ICONV(acc_uint64l_t, b[4]) << 32) | (ACC_ICONV(acc_uint64l_t, b[5]) << 40) | (ACC_ICONV(acc_uint64l_t, b[6]) << 48) | (ACC_ICONV(acc_uint64l_t, b[7]) << 56);
  |  | 6288|       |#else
  |  | 6289|       |    const acc_hbyte_p b = ACC_CCAST(const acc_hbyte_p, p);
  |  | 6290|       |    acc_uint32l_t v0, v1;
  |  | 6291|       |    v0 = ACC_ICONV(acc_uint32l_t, b[0]) | (ACC_ICONV(acc_uint32l_t, b[1]) << 8) | (ACC_ICONV(acc_uint32l_t, b[2]) << 16) | (ACC_ICONV(acc_uint32l_t, b[3]) << 24);
  |  | 6292|       |    b += 4;
  |  | 6293|       |    v1 = ACC_ICONV(acc_uint32l_t, b[0]) | (ACC_ICONV(acc_uint32l_t, b[1]) << 8) | (ACC_ICONV(acc_uint32l_t, b[2]) << 16) | (ACC_ICONV(acc_uint32l_t, b[3]) << 24);
  |  | 6294|       |    return ACC_ICONV(acc_uint64l_t, v0) | (ACC_ICONV(acc_uint64l_t, v1) << 32);
  |  | 6295|       |#endif
  |  | 6296|       |}
  |  | 6297|       |ACCLIB_PUBLIC(void, acc_ua_set_le64) (acc_hvoid_p p, acc_uint64l_t v)
  |  | 6298|       |{
  |  | 6299|       |#if defined(ACC_UA_SET_LE64)
  |  | 6300|       |    ACC_UA_SET_LE64(p, v);
  |  | 6301|       |#elif defined(ACC_UA_SET_LE32)
  |  | 6302|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6303|       |    ACC_UA_SET_LE32(b + 0, v);
  |  | 6304|       |    v >>= 32;
  |  | 6305|       |    ACC_UA_SET_LE32(b + 4, v);
  |  | 6306|       |#elif (ACC_WORDSIZE >= 8)
  |  | 6307|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6308|       |    b[0] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6309|       |    b[1] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6310|       |    b[2] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6311|       |    b[3] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6312|       |    b[4] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6313|       |    b[5] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6314|       |    b[6] = ACC_ITRUNC(unsigned char, v); v >>= 8;
  |  | 6315|       |    b[7] = ACC_ITRUNC(unsigned char, v);
  |  | 6316|       |#else
  |  | 6317|       |    acc_hbyte_p b = ACC_PCAST(acc_hbyte_p, p);
  |  | 6318|       |    acc_uint32l_t x;
  |  | 6319|       |    x = ACC_ITRUNC(acc_uint32l_t, v);
  |  | 6320|       |    b[0] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6321|       |    b[1] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6322|       |    b[2] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6323|       |    b[3] = ACC_ITRUNC(unsigned char, x);
  |  | 6324|       |    v >>= 32;
  |  | 6325|       |    x = ACC_ITRUNC(acc_uint32l_t, v);
  |  | 6326|       |    b[4] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6327|       |    b[5] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6328|       |    b[6] = ACC_ITRUNC(unsigned char, x); x >>= 8;
  |  | 6329|       |    b[7] = ACC_ITRUNC(unsigned char, x);
  |  | 6330|       |#endif
  |  | 6331|       |}
  |  | 6332|       |#endif
  |  | 6333|       |#endif
  |  | 6334|       |#if defined(ACC_WANT_ACCLIB_VGET)
  |  | 6335|       |#  undef ACC_WANT_ACCLIB_VGET
  |  | 6336|       |#define __ACCLIB_VGET_CH_INCLUDED 1
  |  | 6337|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6338|       |#  define ACCLIB_PUBLIC(r,f)                r __ACCLIB_FUNCNAME(f)
  |  | 6339|       |#endif
  |  | 6340|       |#if !defined(ACCLIB_PUBLIC_NOINLINE)
  |  | 6341|       |#  if !defined(__acc_noinline)
  |  | 6342|       |#    define ACCLIB_PUBLIC_NOINLINE(r,f)     r __ACCLIB_FUNCNAME(f)
  |  | 6343|       |#  elif (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x030400ul) || ACC_CC_LLVM)
  |  | 6344|       |#    define ACCLIB_PUBLIC_NOINLINE(r,f)     __acc_noinline __attribute__((__used__)) r __ACCLIB_FUNCNAME(f)
  |  | 6345|       |#  else
  |  | 6346|       |#    define ACCLIB_PUBLIC_NOINLINE(r,f)     __acc_noinline r __ACCLIB_FUNCNAME(f)
  |  | 6347|       |#  endif
  |  | 6348|       |#endif
  |  | 6349|       |extern void* volatile acc_vget_ptr__;
  |  | 6350|       |#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x030400ul) || ACC_CC_LLVM)
  |  | 6351|       |void* volatile __attribute__((__used__)) acc_vget_ptr__ = ACC_STATIC_CAST(void *, ACC_nullptr);
  |  | 6352|       |#else
  |  | 6353|       |void* volatile acc_vget_ptr__ = ACC_STATIC_CAST(void *, ACC_nullptr);
  |  | 6354|       |#endif
  |  | 6355|       |#ifndef __ACCLIB_VGET_BODY
  |  | 6356|       |#define __ACCLIB_VGET_BODY(T) \
  |  | 6357|       |    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  | 6358|       |        typedef T __acc_may_alias TT; \
  |  | 6359|       |        unsigned char e; expr &= 255; e = ACC_STATIC_CAST(unsigned char, expr); \
  |  | 6360|       |        * ACC_STATIC_CAST(TT *, acc_vget_ptr__) = v; \
  |  | 6361|       |        * ACC_STATIC_CAST(unsigned char *, acc_vget_ptr__) = e; \
  |  | 6362|       |        v = * ACC_STATIC_CAST(TT *, acc_vget_ptr__); \
  |  | 6363|       |    } \
  |  | 6364|       |    return v;
  |  | 6365|       |#endif
  |  | 6366|       |ACCLIB_PUBLIC_NOINLINE(short, acc_vget_short) (short v, int expr)
  |  | 6367|       |{
  |  | 6368|       |    __ACCLIB_VGET_BODY(short)
  |  | 6369|       |}
  |  | 6370|       |ACCLIB_PUBLIC_NOINLINE(int, acc_vget_int) (int v, int expr)
  |  | 6371|       |{
  |  | 6372|       |    __ACCLIB_VGET_BODY(int)
  |  | 6373|       |}
  |  | 6374|       |ACCLIB_PUBLIC_NOINLINE(long, acc_vget_long) (long v, int expr)
  |  | 6375|       |{
  |  | 6376|       |    __ACCLIB_VGET_BODY(long)
  |  | 6377|       |}
  |  | 6378|       |#if defined(acc_int64l_t)
  |  | 6379|       |ACCLIB_PUBLIC_NOINLINE(acc_int64l_t, acc_vget_acc_int64l_t) (acc_int64l_t v, int expr)
  |  | 6380|       |{
  |  | 6381|       |    __ACCLIB_VGET_BODY(acc_int64l_t)
  |  | 6382|       |}
  |  | 6383|       |#endif
  |  | 6384|       |ACCLIB_PUBLIC_NOINLINE(acc_hsize_t, acc_vget_acc_hsize_t) (acc_hsize_t v, int expr)
  |  | 6385|       |{
  |  | 6386|       |    __ACCLIB_VGET_BODY(acc_hsize_t)
  |  | 6387|       |}
  |  | 6388|       |#if !(ACC_CFG_NO_DOUBLE)
  |  | 6389|       |ACCLIB_PUBLIC_NOINLINE(double, acc_vget_double) (double v, int expr)
  |  | 6390|       |{
  |  | 6391|       |    __ACCLIB_VGET_BODY(double)
  |  | 6392|       |}
  |  | 6393|       |#endif
  |  | 6394|       |ACCLIB_PUBLIC_NOINLINE(acc_hvoid_p, acc_vget_acc_hvoid_p) (acc_hvoid_p v, int expr)
  |  | 6395|       |{
  |  | 6396|       |    __ACCLIB_VGET_BODY(acc_hvoid_p)
  |  | 6397|       |}
  |  | 6398|       |#if (ACC_ARCH_I086 && ACC_CC_TURBOC && (__TURBOC__ == 0x0295)) && !defined(__cplusplus)
  |  | 6399|       |ACCLIB_PUBLIC_NOINLINE(acc_hvoid_p, acc_vget_acc_hvoid_cp) (const acc_hvoid_p vv, int expr)
  |  | 6400|       |{
  |  | 6401|       |    acc_hvoid_p v = (acc_hvoid_p) vv;
  |  | 6402|       |    __ACCLIB_VGET_BODY(acc_hvoid_p)
  |  | 6403|       |}
  |  | 6404|       |#else
  |  | 6405|       |ACCLIB_PUBLIC_NOINLINE(const acc_hvoid_p, acc_vget_acc_hvoid_cp) (const acc_hvoid_p v, int expr)
  |  | 6406|       |{
  |  | 6407|       |    __ACCLIB_VGET_BODY(const acc_hvoid_p)
  |  | 6408|       |}
  |  | 6409|       |#endif
  |  | 6410|       |#endif
  |  | 6411|       |#if defined(ACC_WANT_ACCLIB_HMEMCPY)
  |  | 6412|       |#  undef ACC_WANT_ACCLIB_HMEMCPY
  |  | 6413|       |#define __ACCLIB_HMEMCPY_CH_INCLUDED 1
  |  | 6414|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6415|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 6416|       |#endif
  |  | 6417|       |ACCLIB_PUBLIC(int, acc_hmemcmp) (const acc_hvoid_p s1, const acc_hvoid_p s2, acc_hsize_t len)
  |  | 6418|       |{
  |  | 6419|       |#if (ACC_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCMP)
  |  | 6420|       |    const acc_hbyte_p p1 = ACC_STATIC_CAST(const acc_hbyte_p, s1);
  |  | 6421|       |    const acc_hbyte_p p2 = ACC_STATIC_CAST(const acc_hbyte_p, s2);
  |  | 6422|       |    if __acc_likely(len > 0) do
  |  | 6423|       |    {
  |  | 6424|       |        int d = *p1 - *p2;
  |  | 6425|       |        if (d != 0)
  |  | 6426|       |            return d;
  |  | 6427|       |        p1++; p2++;
  |  | 6428|       |    } while __acc_likely(--len > 0);
  |  | 6429|       |    return 0;
  |  | 6430|       |#else
  |  | 6431|       |    return memcmp(s1, s2, len);
  |  | 6432|       |#endif
  |  | 6433|       |}
  |  | 6434|       |ACCLIB_PUBLIC(acc_hvoid_p, acc_hmemcpy) (acc_hvoid_p dest, const acc_hvoid_p src, acc_hsize_t len)
  |  | 6435|       |{
  |  | 6436|       |#if (ACC_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCPY)
  |  | 6437|       |    acc_hbyte_p p1 = ACC_STATIC_CAST(acc_hbyte_p, dest);
  |  | 6438|       |    const acc_hbyte_p p2 = ACC_STATIC_CAST(const acc_hbyte_p, src);
  |  | 6439|       |    if (!(len > 0) || p1 == p2)
  |  | 6440|       |        return dest;
  |  | 6441|       |    do
  |  | 6442|       |        *p1++ = *p2++;
  |  | 6443|       |    while __acc_likely(--len > 0);
  |  | 6444|       |    return dest;
  |  | 6445|       |#else
  |  | 6446|       |    return memcpy(dest, src, len);
  |  | 6447|       |#endif
  |  | 6448|       |}
  |  | 6449|       |ACCLIB_PUBLIC(acc_hvoid_p, acc_hmemmove) (acc_hvoid_p dest, const acc_hvoid_p src, acc_hsize_t len)
  |  | 6450|       |{
  |  | 6451|       |#if (ACC_HAVE_MM_HUGE_PTR) || !(HAVE_MEMMOVE)
  |  | 6452|       |    acc_hbyte_p p1 = ACC_STATIC_CAST(acc_hbyte_p, dest);
  |  | 6453|       |    const acc_hbyte_p p2 = ACC_STATIC_CAST(const acc_hbyte_p, src);
  |  | 6454|       |    if (!(len > 0) || p1 == p2)
  |  | 6455|       |        return dest;
  |  | 6456|       |    if (p1 < p2)
  |  | 6457|       |    {
  |  | 6458|       |        do
  |  | 6459|       |            *p1++ = *p2++;
  |  | 6460|       |        while __acc_likely(--len > 0);
  |  | 6461|       |    }
  |  | 6462|       |    else
  |  | 6463|       |    {
  |  | 6464|       |        p1 += len;
  |  | 6465|       |        p2 += len;
  |  | 6466|       |        do
  |  | 6467|       |            *--p1 = *--p2;
  |  | 6468|       |        while __acc_likely(--len > 0);
  |  | 6469|       |    }
  |  | 6470|       |    return dest;
  |  | 6471|       |#else
  |  | 6472|       |    return memmove(dest, src, len);
  |  | 6473|       |#endif
  |  | 6474|       |}
  |  | 6475|       |ACCLIB_PUBLIC(acc_hvoid_p, acc_hmemset) (acc_hvoid_p s, int cc, acc_hsize_t len)
  |  | 6476|       |{
  |  | 6477|       |#if (ACC_HAVE_MM_HUGE_PTR) || !(HAVE_MEMSET)
  |  | 6478|       |    acc_hbyte_p p = ACC_STATIC_CAST(acc_hbyte_p, s);
  |  | 6479|       |    unsigned char c = ACC_ITRUNC(unsigned char, cc);
  |  | 6480|       |    if __acc_likely(len > 0) do
  |  | 6481|       |        *p++ = c;
  |  | 6482|       |    while __acc_likely(--len > 0);
  |  | 6483|       |    return s;
  |  | 6484|       |#else
  |  | 6485|       |    return memset(s, cc, len);
  |  | 6486|       |#endif
  |  | 6487|       |}
  |  | 6488|       |#endif
  |  | 6489|       |#if defined(ACC_WANT_ACCLIB_RAND)
  |  | 6490|       |#  undef ACC_WANT_ACCLIB_RAND
  |  | 6491|       |#define __ACCLIB_RAND_CH_INCLUDED 1
  |  | 6492|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6493|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 6494|       |#endif
  |  | 6495|       |ACCLIB_PUBLIC(void, acc_srand31) (acc_rand31_p r, acc_uint32l_t seed)
  |  | 6496|       |{
  |  | 6497|       |    r->seed = seed & ACC_UINT32_C(0xffffffff);
  |  | 6498|       |}
  |  | 6499|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_rand31) (acc_rand31_p r)
  |  | 6500|       |{
  |  | 6501|       |    r->seed = r->seed * ACC_UINT32_C(1103515245) + 12345;
  |  | 6502|       |    r->seed &= ACC_UINT32_C(0x7fffffff);
  |  | 6503|       |    return r->seed;
  |  | 6504|       |}
  |  | 6505|       |#if defined(acc_int64l_t)
  |  | 6506|       |ACCLIB_PUBLIC(void, acc_srand48) (acc_rand48_p r, acc_uint32l_t seed)
  |  | 6507|       |{
  |  | 6508|       |    r->seed = seed & ACC_UINT32_C(0xffffffff);
  |  | 6509|       |    r->seed <<= 16; r->seed |= 0x330e;
  |  | 6510|       |}
  |  | 6511|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_rand48) (acc_rand48_p r)
  |  | 6512|       |{
  |  | 6513|       |    acc_uint64l_t a;
  |  | 6514|       |    r->seed = r->seed * ACC_UINT64_C(25214903917) + 11;
  |  | 6515|       |    r->seed &= ACC_UINT64_C(0xffffffffffff);
  |  | 6516|       |    a = r->seed >> 17;
  |  | 6517|       |    return ACC_STATIC_CAST(acc_uint32l_t, a);
  |  | 6518|       |}
  |  | 6519|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_rand48_r32) (acc_rand48_p r)
  |  | 6520|       |{
  |  | 6521|       |    acc_uint64l_t a;
  |  | 6522|       |    r->seed = r->seed * ACC_UINT64_C(25214903917) + 11;
  |  | 6523|       |    r->seed &= ACC_UINT64_C(0xffffffffffff);
  |  | 6524|       |    a = r->seed >> 16;
  |  | 6525|       |    return ACC_STATIC_CAST(acc_uint32l_t, a);
  |  | 6526|       |}
  |  | 6527|       |#endif
  |  | 6528|       |#if defined(acc_int64l_t)
  |  | 6529|       |ACCLIB_PUBLIC(void, acc_srand64) (acc_rand64_p r, acc_uint64l_t seed)
  |  | 6530|       |{
  |  | 6531|       |    r->seed = seed & ACC_UINT64_C(0xffffffffffffffff);
  |  | 6532|       |}
  |  | 6533|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_rand64) (acc_rand64_p r)
  |  | 6534|       |{
  |  | 6535|       |    acc_uint64l_t a;
  |  | 6536|       |    r->seed = r->seed * ACC_UINT64_C(6364136223846793005) + 1;
  |  | 6537|       |#if (ACC_SIZEOF_ACC_INT64L_T > 8)
  |  | 6538|       |    r->seed &= ACC_UINT64_C(0xffffffffffffffff);
  |  | 6539|       |#endif
  |  | 6540|       |    a = r->seed >> 33;
  |  | 6541|       |    return ACC_STATIC_CAST(acc_uint32l_t, a);
  |  | 6542|       |}
  |  | 6543|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_rand64_r32) (acc_rand64_p r)
  |  | 6544|       |{
  |  | 6545|       |    acc_uint64l_t a;
  |  | 6546|       |    r->seed = r->seed * ACC_UINT64_C(6364136223846793005) + 1;
  |  | 6547|       |#if (ACC_SIZEOF_ACC_INT64L_T > 8)
  |  | 6548|       |    r->seed &= ACC_UINT64_C(0xffffffffffffffff);
  |  | 6549|       |#endif
  |  | 6550|       |    a = r->seed >> 32;
  |  | 6551|       |    return ACC_STATIC_CAST(acc_uint32l_t, a);
  |  | 6552|       |}
  |  | 6553|       |#endif
  |  | 6554|       |ACCLIB_PUBLIC(void, acc_srandmt) (acc_randmt_p r, acc_uint32l_t seed)
  |  | 6555|       |{
  |  | 6556|       |    unsigned i = 0;
  |  | 6557|       |    do {
  |  | 6558|       |        r->s[i++] = (seed &= ACC_UINT32_C(0xffffffff));
  |  | 6559|       |        seed ^= seed >> 30;
  |  | 6560|       |        seed = seed * ACC_UINT32_C(0x6c078965) + i;
  |  | 6561|       |    } while (i != 624);
  |  | 6562|       |    r->n = i;
  |  | 6563|       |}
  |  | 6564|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_randmt) (acc_randmt_p r)
  |  | 6565|       |{
  |  | 6566|       |    return (__ACCLIB_FUNCNAME(acc_randmt_r32)(r)) >> 1;
  |  | 6567|       |}
  |  | 6568|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_randmt_r32) (acc_randmt_p r)
  |  | 6569|       |{
  |  | 6570|       |    acc_uint32l_t v;
  |  | 6571|       |    if __acc_unlikely(r->n == 624) {
  |  | 6572|       |        unsigned i = 0, j;
  |  | 6573|       |        r->n = 0;
  |  | 6574|       |        do {
  |  | 6575|       |            j = i - 623; if (ACC_STATIC_CAST(int, j) < 0) j += 624;
  |  | 6576|       |            v = (r->s[i] & ACC_UINT32_C(0x80000000)) ^ (r->s[j] & ACC_UINT32_C(0x7fffffff));
  |  | 6577|       |            j = i - 227; if (ACC_STATIC_CAST(int, j) < 0) j += 624;
  |  | 6578|       |            r->s[i] = r->s[j] ^ (v >> 1);
  |  | 6579|       |            if (v & 1) r->s[i] ^= ACC_UINT32_C(0x9908b0df);
  |  | 6580|       |        } while (++i != 624);
  |  | 6581|       |    }
  |  | 6582|       |    { unsigned i = r->n++; v = r->s[i]; }
  |  | 6583|       |    v ^= v >> 11; v ^= (v & ACC_UINT32_C(0x013a58ad)) << 7;
  |  | 6584|       |    v ^= (v & ACC_UINT32_C(0x0001df8c)) << 15; v ^= v >> 18;
  |  | 6585|       |    return v;
  |  | 6586|       |}
  |  | 6587|       |#if defined(acc_int64l_t)
  |  | 6588|       |ACCLIB_PUBLIC(void, acc_srandmt64) (acc_randmt64_p r, acc_uint64l_t seed)
  |  | 6589|       |{
  |  | 6590|       |    unsigned i = 0;
  |  | 6591|       |    do {
  |  | 6592|       |        r->s[i++] = (seed &= ACC_UINT64_C(0xffffffffffffffff));
  |  | 6593|       |        seed ^= seed >> 62;
  |  | 6594|       |        seed = seed * ACC_UINT64_C(0x5851f42d4c957f2d) + i;
  |  | 6595|       |    } while (i != 312);
  |  | 6596|       |    r->n = i;
  |  | 6597|       |}
  |  | 6598|       |#if 0
  |  | 6599|       |ACCLIB_PUBLIC(acc_uint32l_t, acc_randmt64) (acc_randmt64_p r)
  |  | 6600|       |{
  |  | 6601|       |    acc_uint64l_t v;
  |  | 6602|       |    v = (__ACCLIB_FUNCNAME(acc_randmt64_r64)(r)) >> 33;
  |  | 6603|       |    return ACC_STATIC_CAST(acc_uint32l_t, v);
  |  | 6604|       |}
  |  | 6605|       |#endif
  |  | 6606|       |ACCLIB_PUBLIC(acc_uint64l_t, acc_randmt64_r64) (acc_randmt64_p r)
  |  | 6607|       |{
  |  | 6608|       |    acc_uint64l_t v;
  |  | 6609|       |    if __acc_unlikely(r->n == 312) {
  |  | 6610|       |        unsigned i = 0, j;
  |  | 6611|       |        r->n = 0;
  |  | 6612|       |        do {
  |  | 6613|       |            j = i - 311; if (ACC_STATIC_CAST(int, j) < 0) j += 312;
  |  | 6614|       |            v = (r->s[i] & ACC_UINT64_C(0xffffffff80000000)) ^ (r->s[j] & ACC_UINT64_C(0x7fffffff));
  |  | 6615|       |            j = i - 156; if (ACC_STATIC_CAST(int, j) < 0) j += 312;
  |  | 6616|       |            r->s[i] = r->s[j] ^ (v >> 1);
  |  | 6617|       |            if (v & 1) r->s[i] ^= ACC_UINT64_C(0xb5026f5aa96619e9);
  |  | 6618|       |        } while (++i != 312);
  |  | 6619|       |    }
  |  | 6620|       |    { unsigned i = r->n++; v = r->s[i]; }
  |  | 6621|       |    v ^= (v & ACC_UINT64_C(0xaaaaaaaaa0000000)) >> 29;
  |  | 6622|       |    v ^= (v & ACC_UINT64_C(0x38eb3ffff6d3)) << 17;
  |  | 6623|       |    v ^= (v & ACC_UINT64_C(0x7ffbf77)) << 37;
  |  | 6624|       |    return v ^ (v >> 43);
  |  | 6625|       |}
  |  | 6626|       |#endif
  |  | 6627|       |#endif
  |  | 6628|       |#if defined(ACC_WANT_ACCLIB_RDTSC)
  |  | 6629|       |#  undef ACC_WANT_ACCLIB_RDTSC
  |  | 6630|       |#define __ACCLIB_RDTSC_CH_INCLUDED 1
  |  | 6631|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6632|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 6633|       |#endif
  |  | 6634|       |#if defined(acc_int32e_t)
  |  | 6635|       |#if (ACC_OS_WIN32 && ACC_CC_PELLESC && (__POCC__ >= 290))
  |  | 6636|       |#  pragma warn(push)
  |  | 6637|       |#  pragma warn(disable:2007)
  |  | 6638|       |#endif
  |  | 6639|       |#if (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
  |  | 6640|       |#if (ACC_ARCH_AMD64 && ACC_CC_INTELC)
  |  | 6641|       |#  define __ACCLIB_RDTSC_REGS   : : "c" (t) : "memory", "rax", "rdx"
  |  | 6642|       |#elif (ACC_ARCH_AMD64)
  |  | 6643|       |#  define __ACCLIB_RDTSC_REGS   : : "c" (t) : "cc", "memory", "rax", "rdx"
  |  | 6644|       |#elif (ACC_ARCH_I386 && ACC_CC_GNUC && (ACC_CC_GNUC < 0x020000ul))
  |  | 6645|       |#  define __ACCLIB_RDTSC_REGS   : : "c" (t) : "ax", "dx"
  |  | 6646|       |#elif (ACC_ARCH_I386 && ACC_CC_INTELC)
  |  | 6647|       |#  define __ACCLIB_RDTSC_REGS   : : "c" (t) : "memory", "eax", "edx"
  |  | 6648|       |#else
  |  | 6649|       |#  define __ACCLIB_RDTSC_REGS   : : "c" (t) : "cc", "memory", "eax", "edx"
  |  | 6650|       |#endif
  |  | 6651|       |#endif
  |  | 6652|       |ACCLIB_PUBLIC(int, acc_tsc_read) (acc_uint32e_t* t)
  |  | 6653|       |{
  |  | 6654|       |#if (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
  |  | 6655|       |    __asm__ __volatile__(
  |  | 6656|       |        "clc \n" ".byte 0x0f,0x31\n"
  |  | 6657|       |        "movl %%eax,(%0)\n" "movl %%edx,4(%0)\n"
  |  | 6658|       |        __ACCLIB_RDTSC_REGS
  |  | 6659|       |    );
  |  | 6660|       |    return 0;
  |  | 6661|       |#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
  |  | 6662|       |    ACC_UNUSED(t);
  |  | 6663|       |    __asm {
  |  | 6664|       |        mov ecx, t
  |  | 6665|       |        clc
  |  | 6666|       |#  if (ACC_CC_MSC && (_MSC_VER < 1200))
  |  | 6667|       |        _emit 0x0f
  |  | 6668|       |        _emit 0x31
  |  | 6669|       |#  else
  |  | 6670|       |        rdtsc
  |  | 6671|       |#  endif
  |  | 6672|       |        mov [ecx], eax
  |  | 6673|       |        mov [ecx+4], edx
  |  | 6674|       |    }
  |  | 6675|       |    return 0;
  |  | 6676|       |#else
  |  | 6677|       |    t[0] = t[1] = 0; return -1;
  |  | 6678|       |#endif
  |  | 6679|       |}
  |  | 6680|       |#if (ACC_OS_WIN32 && ACC_CC_PELLESC && (__POCC__ >= 290))
  |  | 6681|       |#  pragma warn(pop)
  |  | 6682|       |#endif
  |  | 6683|       |#endif
  |  | 6684|       |#endif
  |  | 6685|       |#if defined(ACC_WANT_ACCLIB_DOSALLOC)
  |  | 6686|       |#  undef ACC_WANT_ACCLIB_DOSALLOC
  |  | 6687|       |#define __ACCLIB_DOSALLOC_CH_INCLUDED 1
  |  | 6688|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6689|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 6690|       |#endif
  |  | 6691|       |#if (ACC_OS_OS216)
  |  | 6692|       |ACC_EXTERN_C unsigned short __far __pascal DosAllocHuge(unsigned short, unsigned short, unsigned short __far *, unsigned short, unsigned short);
  |  | 6693|       |ACC_EXTERN_C unsigned short __far __pascal DosFreeSeg(unsigned short);
  |  | 6694|       |#endif
  |  | 6695|       |#if (ACC_OS_DOS16 || ACC_OS_WIN16)
  |  | 6696|       |#if !(ACC_CC_AZTECC)
  |  | 6697|       |ACCLIB_PUBLIC(void __far*, acc_dos_alloc) (unsigned long size)
  |  | 6698|       |{
  |  | 6699|       |    void __far* p = 0;
  |  | 6700|       |    union REGS ri, ro;
  |  | 6701|       |    if ((long)size <= 0)
  |  | 6702|       |        return p;
  |  | 6703|       |    size = (size + 15) >> 4;
  |  | 6704|       |    if (size > 0xffffu)
  |  | 6705|       |        return p;
  |  | 6706|       |    ri.x.ax = 0x4800;
  |  | 6707|       |    ri.x.bx = (unsigned short) size;
  |  | 6708|       |    int86(0x21, &ri, &ro);
  |  | 6709|       |    if ((ro.x.cflag & 1) == 0)
  |  | 6710|       |        p = (void __far*) ACC_PTR_MK_FP(ro.x.ax, 0);
  |  | 6711|       |    return p;
  |  | 6712|       |}
  |  | 6713|       |ACCLIB_PUBLIC(int, acc_dos_free) (void __far* p)
  |  | 6714|       |{
  |  | 6715|       |    union REGS ri, ro;
  |  | 6716|       |    struct SREGS rs;
  |  | 6717|       |    if (!p)
  |  | 6718|       |        return 0;
  |  | 6719|       |    if (ACC_PTR_FP_OFF(p) != 0)
  |  | 6720|       |        return -1;
  |  | 6721|       |    segread(&rs);
  |  | 6722|       |    ri.x.ax = 0x4900;
  |  | 6723|       |    rs.es = ACC_PTR_FP_SEG(p);
  |  | 6724|       |    int86x(0x21, &ri, &ro, &rs);
  |  | 6725|       |    if (ro.x.cflag & 1)
  |  | 6726|       |        return -1;
  |  | 6727|       |    return 0;
  |  | 6728|       |}
  |  | 6729|       |#endif
  |  | 6730|       |#endif
  |  | 6731|       |#if (ACC_OS_OS216)
  |  | 6732|       |ACCLIB_PUBLIC(void __far*, acc_dos_alloc) (unsigned long size)
  |  | 6733|       |{
  |  | 6734|       |    void __far* p = 0;
  |  | 6735|       |    unsigned short sel = 0;
  |  | 6736|       |    if ((long)size <= 0)
  |  | 6737|       |        return p;
  |  | 6738|       |    if (DosAllocHuge((unsigned short)(size >> 16), (unsigned short)size, &sel, 0, 0) == 0)
  |  | 6739|       |        p = (void __far*) ACC_PTR_MK_FP(sel, 0);
  |  | 6740|       |    return p;
  |  | 6741|       |}
  |  | 6742|       |ACCLIB_PUBLIC(int, acc_dos_free) (void __far* p)
  |  | 6743|       |{
  |  | 6744|       |    if (!p)
  |  | 6745|       |        return 0;
  |  | 6746|       |    if (ACC_PTR_FP_OFF(p) != 0)
  |  | 6747|       |        return -1;
  |  | 6748|       |    if (DosFreeSeg(ACC_PTR_FP_SEG(p)) != 0)
  |  | 6749|       |        return -1;
  |  | 6750|       |    return 0;
  |  | 6751|       |}
  |  | 6752|       |#endif
  |  | 6753|       |#endif
  |  | 6754|       |#if defined(ACC_WANT_ACCLIB_GETOPT)
  |  | 6755|       |#  undef ACC_WANT_ACCLIB_GETOPT
  |  | 6756|       |#define __ACCLIB_GETOPT_CH_INCLUDED 1
  |  | 6757|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6758|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 6759|       |#endif
  |  | 6760|       |ACCLIB_PUBLIC(void, acc_getopt_init) (acc_getopt_p g,
  |  | 6761|       |                                      int start_argc, int argc, char **argv)
  |  | 6762|       |{
  |  | 6763|       |    memset(g, 0, sizeof(*g));
  |  | 6764|       |    g->optind = start_argc;
  |  | 6765|       |    g->argc = argc; g->argv = argv;
  |  | 6766|       |    g->optopt = -1;
  |  | 6767|       |}
  |  | 6768|       |static int __ACCLIB_FUNCNAME(acc_getopt_rotate) (char **p, int first, int middle, int last)
  |  | 6769|       |{
  |  | 6770|       |    int i = middle, n = middle - first;
  |  | 6771|       |    if (first >= middle || middle >= last) return 0;
  |  | 6772|       |    for (;;) {
  |  | 6773|       |        char *t = p[first]; p[first++] = p[i]; p[i++] = t;
  |  | 6774|       |        if (first == middle) {
  |  | 6775|       |            if (i == last) break;
  |  | 6776|       |            middle = i;
  |  | 6777|       |        } else if (i == last)
  |  | 6778|       |            i = middle;
  |  | 6779|       |    }
  |  | 6780|       |    return n;
  |  | 6781|       |}
  |  | 6782|       |static int __ACCLIB_FUNCNAME(acc_getopt_perror) (acc_getopt_p g, int ret, const char *f, ...)
  |  | 6783|       |{
  |  | 6784|       |    ++g->errcount;
  |  | 6785|       |    if (g->opterr) {
  |  | 6786|       |#if defined(HAVE_STDARG_H) && (HAVE_STDARG_H)
  |  | 6787|       |        struct { va_list ap; } s;
  |  | 6788|       |        va_start(s.ap, f);
  |  | 6789|       |        g->opterr(g, f, &s);
  |  | 6790|       |        va_end(s.ap);
  |  | 6791|       |#else
  |  | 6792|       |        g->opterr(g, f, ACC_nullptr);
  |  | 6793|       |#endif
  |  | 6794|       |    }
  |  | 6795|       |    return ret;
  |  | 6796|       |}
  |  | 6797|       |ACCLIB_PUBLIC(int, acc_getopt) (acc_getopt_p g,
  |  | 6798|       |                                const char *shortopts,
  |  | 6799|       |                                const acc_getopt_longopt_p longopts,
  |  | 6800|       |                                int *longind)
  |  | 6801|       |{
  |  | 6802|       |#define pe  __ACCLIB_FUNCNAME(acc_getopt_perror)
  |  | 6803|       |    int ordering = ACC_GETOPT_PERMUTE;
  |  | 6804|       |    int missing_arg_ret = g->bad_option;
  |  | 6805|       |    char *a;
  |  | 6806|       |    if (shortopts) {
  |  | 6807|       |        if (*shortopts == '-' || *shortopts == '+')
  |  | 6808|       |            ordering = *shortopts++ == '-' ? ACC_GETOPT_RETURN_IN_ORDER : ACC_GETOPT_REQUIRE_ORDER;
  |  | 6809|       |        if (*shortopts == ':')
  |  | 6810|       |            missing_arg_ret = *shortopts++;
  |  | 6811|       |    }
  |  | 6812|       |    g->optarg = ACC_nullptr;
  |  | 6813|       |    if (g->optopt == -1)
  |  | 6814|       |        g->optopt = g->bad_option;
  |  | 6815|       |    if (longind)
  |  | 6816|       |        *longind = -1;
  |  | 6817|       |    if (g->eof)
  |  | 6818|       |        return -1;
  |  | 6819|       |    if (g->shortpos)
  |  | 6820|       |        goto acc_label_next_shortopt;
  |  | 6821|       |    g->optind -= __ACCLIB_FUNCNAME(acc_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind);
  |  | 6822|       |    g->pending_rotate_first = g->pending_rotate_middle = g->optind;
  |  | 6823|       |    if (ordering == ACC_GETOPT_PERMUTE) {
  |  | 6824|       |        while (g->optind < g->argc && !(g->argv[g->optind][0] == '-' && g->argv[g->optind][1]))
  |  | 6825|       |            ++g->optind;
  |  | 6826|       |        g->pending_rotate_middle = g->optind;
  |  | 6827|       |    }
  |  | 6828|       |    if (g->optind >= g->argc) {
  |  | 6829|       |        g->optind = g->pending_rotate_first;
  |  | 6830|       |        goto acc_label_eof;
  |  | 6831|       |    }
  |  | 6832|       |    a = g->argv[g->optind];
  |  | 6833|       |    if (a[0] == '-' && a[1] == '-') {
  |  | 6834|       |        size_t l = 0;
  |  | 6835|       |        const acc_getopt_longopt_p o;
  |  | 6836|       |        const acc_getopt_longopt_p o1 = ACC_nullptr;
  |  | 6837|       |        const acc_getopt_longopt_p o2 = ACC_nullptr;
  |  | 6838|       |        int need_exact = 0;
  |  | 6839|       |        ++g->optind;
  |  | 6840|       |        if (!a[2])
  |  | 6841|       |            goto acc_label_eof;
  |  | 6842|       |        for (a += 2; a[l] && a[l] != '=' && a[l] != '#'; )
  |  | 6843|       |            ++l;
  |  | 6844|       |        for (o = longopts; l && o && o->name; ++o) {
  |  | 6845|       |            if (strncmp(a, o->name, l) != 0)
  |  | 6846|       |                continue;
  |  | 6847|       |            if (!o->name[l])
  |  | 6848|       |                goto acc_label_found_o;
  |  | 6849|       |            if ((o->has_arg & (ACC_GETOPT_EXACT_ARG | 0x80)) == (ACC_GETOPT_EXACT_ARG | 0x80))
  |  | 6850|       |                continue;
  |  | 6851|       |            need_exact |= o->has_arg & ACC_GETOPT_EXACT_ARG;
  |  | 6852|       |            if (o1) o2 = o;
  |  | 6853|       |            else    o1 = o;
  |  | 6854|       |        }
  |  | 6855|       |        if (!o1 || need_exact)
  |  | 6856|       |            return pe(g, g->bad_option, "unrecognized option '--%s'", a);
  |  | 6857|       |        if (o2)
  |  | 6858|       |            return pe(g, g->bad_option, "option '--%s' is ambiguous (could be '--%s' or '--%s')", a, o1->name, o2->name);
  |  | 6859|       |        o = o1;
  |  | 6860|       |    acc_label_found_o:
  |  | 6861|       |        a += l;
  |  | 6862|       |        switch (o->has_arg & 0x2f) {
  |  | 6863|       |        case ACC_GETOPT_OPTIONAL_ARG:
  |  | 6864|       |            if (a[0])
  |  | 6865|       |                g->optarg = a + 1;
  |  | 6866|       |            break;
  |  | 6867|       |        case ACC_GETOPT_REQUIRED_ARG:
  |  | 6868|       |            if (a[0])
  |  | 6869|       |                g->optarg = a + 1;
  |  | 6870|       |            else if (g->optind < g->argc)
  |  | 6871|       |                g->optarg = g->argv[g->optind++];
  |  | 6872|       |            if (!g->optarg || (!g->optarg[0] && (o->has_arg & 0x40)))
  |  | 6873|       |                return pe(g, missing_arg_ret, "option '--%s' requires an argument", o->name);
  |  | 6874|       |            break;
  |  | 6875|       |        case ACC_GETOPT_REQUIRED_ARG | 0x20:
  |  | 6876|       |            if (a[0] && a[1])
  |  | 6877|       |                g->optarg = a + 1;
  |  | 6878|       |            if (!g->optarg)
  |  | 6879|       |                return pe(g, missing_arg_ret, "option '--%s=' requires an argument", o->name);
  |  | 6880|       |            break;
  |  | 6881|       |        default:
  |  | 6882|       |            if (a[0])
  |  | 6883|       |                return pe(g, g->bad_option, "option '--%s' doesn't allow an argument", o->name);
  |  | 6884|       |            break;
  |  | 6885|       |        }
  |  | 6886|       |        if (longind)
  |  | 6887|       |            *longind = (int) (o - longopts);
  |  | 6888|       |        if (o->flag) {
  |  | 6889|       |            *o->flag = o->val;
  |  | 6890|       |            return 0;
  |  | 6891|       |        }
  |  | 6892|       |        return o->val;
  |  | 6893|       |    }
  |  | 6894|       |    if (a[0] == '-' && a[1]) {
  |  | 6895|       |        unsigned char c;
  |  | 6896|       |        const char *s;
  |  | 6897|       |    acc_label_next_shortopt:
  |  | 6898|       |        a = g->argv[g->optind] + ++g->shortpos;
  |  | 6899|       |        c = (unsigned char) *a++; s = ACC_nullptr;
  |  | 6900|       |        if (c != ':' && shortopts)
  |  | 6901|       |            s = strchr(shortopts, c);
  |  | 6902|       |        if (!s || s[1] != ':') {
  |  | 6903|       |            if (!a[0])
  |  | 6904|       |                { ++g->optind; g->shortpos = 0; }
  |  | 6905|       |            if (!s) {
  |  | 6906|       |                g->optopt = c;
  |  | 6907|       |                return pe(g, g->bad_option, "invalid option '-%c'", c);
  |  | 6908|       |            }
  |  | 6909|       |        } else {
  |  | 6910|       |            ++g->optind; g->shortpos = 0;
  |  | 6911|       |            if (a[0])
  |  | 6912|       |                g->optarg = a;
  |  | 6913|       |            else if (s[2] != ':') {
  |  | 6914|       |                if (g->optind < g->argc)
  |  | 6915|       |                    g->optarg = g->argv[g->optind++];
  |  | 6916|       |                else {
  |  | 6917|       |                    g->optopt = c;
  |  | 6918|       |                    return pe(g, missing_arg_ret, "option '-%c' requires an argument", c);
  |  | 6919|       |                }
  |  | 6920|       |            }
  |  | 6921|       |        }
  |  | 6922|       |        return c;
  |  | 6923|       |    }
  |  | 6924|       |    if (ordering == ACC_GETOPT_RETURN_IN_ORDER) {
  |  | 6925|       |        g->optarg = a;
  |  | 6926|       |        ++g->optind;
  |  | 6927|       |        return 1;
  |  | 6928|       |    }
  |  | 6929|       |acc_label_eof:
  |  | 6930|       |    g->optind -= __ACCLIB_FUNCNAME(acc_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind);
  |  | 6931|       |    g->pending_rotate_first = g->pending_rotate_middle = g->optind;
  |  | 6932|       |    g->eof = 1;
  |  | 6933|       |    return -1;
  |  | 6934|       |#undef pe
  |  | 6935|       |}
  |  | 6936|       |#endif
  |  | 6937|       |#if defined(ACC_WANT_ACCLIB_HALLOC)
  |  | 6938|       |#  undef ACC_WANT_ACCLIB_HALLOC
  |  | 6939|       |#define __ACCLIB_HALLOC_CH_INCLUDED 1
  |  | 6940|       |#if !defined(ACCLIB_PUBLIC)
  |  | 6941|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 6942|       |#endif
  |  | 6943|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 6944|       |#if 1 && (ACC_OS_DOS16 && defined(BLX286))
  |  | 6945|       |#  define __ACCLIB_HALLOC_USE_DAH 1
  |  | 6946|       |#elif 1 && (ACC_OS_DOS16 && defined(DOSX286))
  |  | 6947|       |#  define __ACCLIB_HALLOC_USE_DAH 1
  |  | 6948|       |#elif 1 && (ACC_OS_OS216)
  |  | 6949|       |#  define __ACCLIB_HALLOC_USE_DAH 1
  |  | 6950|       |#elif 1 && (ACC_OS_WIN16)
  |  | 6951|       |#  define __ACCLIB_HALLOC_USE_GA 1
  |  | 6952|       |#elif 1 && (ACC_OS_DOS16) && (ACC_CC_BORLANDC) && defined(__DPMI16__)
  |  | 6953|       |#  define __ACCLIB_HALLOC_USE_GA 1
  |  | 6954|       |#endif
  |  | 6955|       |#endif
  |  | 6956|       |#if (__ACCLIB_HALLOC_USE_DAH)
  |  | 6957|       |#if 0 && (ACC_OS_OS216)
  |  | 6958|       |#include <os2.h>
  |  | 6959|       |#else
  |  | 6960|       |ACC_EXTERN_C unsigned short __far __pascal DosAllocHuge(unsigned short, unsigned short, unsigned short __far *, unsigned short, unsigned short);
  |  | 6961|       |ACC_EXTERN_C unsigned short __far __pascal DosFreeSeg(unsigned short);
  |  | 6962|       |#endif
  |  | 6963|       |#endif
  |  | 6964|       |#if (__ACCLIB_HALLOC_USE_GA)
  |  | 6965|       |#if 0
  |  | 6966|       |#define STRICT 1
  |  | 6967|       |#include <windows.h>
  |  | 6968|       |#else
  |  | 6969|       |ACC_EXTERN_C const void __near* __far __pascal GlobalAlloc(unsigned, unsigned long);
  |  | 6970|       |ACC_EXTERN_C const void __near* __far __pascal GlobalFree(const void __near*);
  |  | 6971|       |ACC_EXTERN_C unsigned long __far __pascal GlobalHandle(unsigned);
  |  | 6972|       |ACC_EXTERN_C void __far* __far __pascal GlobalLock(const void __near*);
  |  | 6973|       |ACC_EXTERN_C int __far __pascal GlobalUnlock(const void __near*);
  |  | 6974|       |#endif
  |  | 6975|       |#endif
  |  | 6976|       |ACCLIB_PUBLIC(acc_hvoid_p, acc_halloc) (acc_hsize_t size)
  |  | 6977|       |{
  |  | 6978|       |    acc_hvoid_p p = ACC_STATIC_CAST(acc_hvoid_p, ACC_nullptr);
  |  | 6979|       |    if (!(size > 0))
  |  | 6980|       |        return p;
  |  | 6981|       |#if 0 && defined(__palmos__)
  |  | 6982|       |    p = MemPtrNew(size);
  |  | 6983|       |#elif !(ACC_HAVE_MM_HUGE_PTR)
  |  | 6984|       |    if (size < (~(ACC_STATIC_CAST(size_t, 0)) & ~(ACC_STATIC_CAST(acc_hsize_t, 0))))
  |  | 6985|       |        p = malloc(ACC_STATIC_CAST(size_t, size));
  |  | 6986|       |#else
  |  | 6987|       |    if (ACC_STATIC_CAST(long, size) <= 0)
  |  | 6988|       |        return p;
  |  | 6989|       |{
  |  | 6990|       |#if (__ACCLIB_HALLOC_USE_DAH)
  |  | 6991|       |    unsigned short sel = 0;
  |  | 6992|       |    if (DosAllocHuge((unsigned short)(size >> 16), (unsigned short)size, &sel, 0, 0) == 0)
  |  | 6993|       |        p = (acc_hvoid_p) ACC_PTR_MK_FP(sel, 0);
  |  | 6994|       |#elif (__ACCLIB_HALLOC_USE_GA)
  |  | 6995|       |    const void __near* h = GlobalAlloc(2, size);
  |  | 6996|       |    if (h) {
  |  | 6997|       |        p = GlobalLock(h);
  |  | 6998|       |        if (p && ACC_PTR_FP_OFF(p) != 0) {
  |  | 6999|       |            GlobalUnlock(h);
  |  | 7000|       |            p = 0;
  |  | 7001|       |        }
  |  | 7002|       |        if (!p)
  |  | 7003|       |            GlobalFree(h);
  |  | 7004|       |    }
  |  | 7005|       |#elif (ACC_CC_MSC && (_MSC_VER >= 700))
  |  | 7006|       |    p = _halloc(size, 1);
  |  | 7007|       |#elif (ACC_CC_MSC || ACC_CC_WATCOMC)
  |  | 7008|       |    p = halloc(size, 1);
  |  | 7009|       |#elif (ACC_CC_DMC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
  |  | 7010|       |    p = farmalloc(size);
  |  | 7011|       |#elif (ACC_CC_BORLANDC || ACC_CC_TURBOC)
  |  | 7012|       |    p = farmalloc(size);
  |  | 7013|       |#elif (ACC_CC_AZTECC)
  |  | 7014|       |    p = lmalloc(size);
  |  | 7015|       |#else
  |  | 7016|       |    if (size < ACC_STATIC_CAST(size_t, -1))
  |  | 7017|       |        p = malloc(ACC_STATIC_CAST(size_t, size));
  |  | 7018|       |#endif
  |  | 7019|       |}
  |  | 7020|       |#endif
  |  | 7021|       |    return p;
  |  | 7022|       |}
  |  | 7023|       |ACCLIB_PUBLIC(void, acc_hfree) (acc_hvoid_p p)
  |  | 7024|       |{
  |  | 7025|       |    if (!p)
  |  | 7026|       |        return;
  |  | 7027|       |#if 0 && defined(__palmos__)
  |  | 7028|       |    MemPtrFree(p);
  |  | 7029|       |#elif !(ACC_HAVE_MM_HUGE_PTR)
  |  | 7030|       |    free(p);
  |  | 7031|       |#else
  |  | 7032|       |#if (__ACCLIB_HALLOC_USE_DAH)
  |  | 7033|       |    if (ACC_PTR_FP_OFF(p) == 0)
  |  | 7034|       |        DosFreeSeg((unsigned short) ACC_PTR_FP_SEG(p));
  |  | 7035|       |#elif (__ACCLIB_HALLOC_USE_GA)
  |  | 7036|       |    if (ACC_PTR_FP_OFF(p) == 0) {
  |  | 7037|       |        const void __near* h = (const void __near*) (unsigned) GlobalHandle(ACC_PTR_FP_SEG(p));
  |  | 7038|       |        if (h) {
  |  | 7039|       |            GlobalUnlock(h);
  |  | 7040|       |            GlobalFree(h);
  |  | 7041|       |        }
  |  | 7042|       |    }
  |  | 7043|       |#elif (ACC_CC_MSC && (_MSC_VER >= 700))
  |  | 7044|       |    _hfree(p);
  |  | 7045|       |#elif (ACC_CC_MSC || ACC_CC_WATCOMC)
  |  | 7046|       |    hfree(p);
  |  | 7047|       |#elif (ACC_CC_DMC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
  |  | 7048|       |    farfree((void __far*) p);
  |  | 7049|       |#elif (ACC_CC_BORLANDC || ACC_CC_TURBOC)
  |  | 7050|       |    farfree((void __far*) p);
  |  | 7051|       |#elif (ACC_CC_AZTECC)
  |  | 7052|       |    lfree(p);
  |  | 7053|       |#else
  |  | 7054|       |    free(p);
  |  | 7055|       |#endif
  |  | 7056|       |#endif
  |  | 7057|       |}
  |  | 7058|       |#endif
  |  | 7059|       |#if defined(ACC_WANT_ACCLIB_HFREAD)
  |  | 7060|       |#  undef ACC_WANT_ACCLIB_HFREAD
  |  | 7061|       |#define __ACCLIB_HFREAD_CH_INCLUDED 1
  |  | 7062|       |#if !defined(ACCLIB_PUBLIC)
  |  | 7063|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 7064|       |#endif
  |  | 7065|       |ACCLIB_PUBLIC(acc_hsize_t, acc_hfread) (void* vfp, acc_hvoid_p buf, acc_hsize_t size)
  |  | 7066|       |{
  |  | 7067|       |    FILE* fp = ACC_STATIC_CAST(FILE *, vfp);
  |  | 7068|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 7069|       |#if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
  |  | 7070|       |#define __ACCLIB_REQUIRE_HMEMCPY_CH 1
  |  | 7071|       |    unsigned char tmp[512];
  |  | 7072|       |    acc_hsize_t l = 0;
  |  | 7073|       |    while (l < size)
  |  | 7074|       |    {
  |  | 7075|       |        size_t n = size - l > sizeof(tmp) ? sizeof(tmp) : (size_t) (size - l);
  |  | 7076|       |        n = fread(tmp, 1, n, fp);
  |  | 7077|       |        if (n == 0)
  |  | 7078|       |            break;
  |  | 7079|       |        __ACCLIB_FUNCNAME(acc_hmemcpy)((acc_hbyte_p)buf + l, tmp, (acc_hsize_t)n);
  |  | 7080|       |        l += n;
  |  | 7081|       |    }
  |  | 7082|       |    return l;
  |  | 7083|       |#elif (ACC_MM_COMPACT || ACC_MM_LARGE || ACC_MM_HUGE)
  |  | 7084|       |    acc_hbyte_p b = (acc_hbyte_p) buf;
  |  | 7085|       |    acc_hsize_t l = 0;
  |  | 7086|       |    while (l < size)
  |  | 7087|       |    {
  |  | 7088|       |        size_t n;
  |  | 7089|       |        n = ACC_PTR_FP_OFF(b); n = (n <= 1) ? 0x8000u : (0u - n);
  |  | 7090|       |        if ((acc_hsize_t) n > size - l)
  |  | 7091|       |            n = (size_t) (size - l);
  |  | 7092|       |        n = fread((void __far*)b, 1, n, fp);
  |  | 7093|       |        if (n == 0)
  |  | 7094|       |            break;
  |  | 7095|       |        b += n; l += n;
  |  | 7096|       |    }
  |  | 7097|       |    return l;
  |  | 7098|       |#else
  |  | 7099|       |#  error "unknown memory model"
  |  | 7100|       |#endif
  |  | 7101|       |#else
  |  | 7102|       |    return fread(buf, 1, size, fp);
  |  | 7103|       |#endif
  |  | 7104|       |}
  |  | 7105|       |ACCLIB_PUBLIC(acc_hsize_t, acc_hfwrite) (void* vfp, const acc_hvoid_p buf, acc_hsize_t size)
  |  | 7106|       |{
  |  | 7107|       |    FILE* fp = ACC_STATIC_CAST(FILE *, vfp);
  |  | 7108|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 7109|       |#if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
  |  | 7110|       |#define __ACCLIB_REQUIRE_HMEMCPY_CH 1
  |  | 7111|       |    unsigned char tmp[512];
  |  | 7112|       |    acc_hsize_t l = 0;
  |  | 7113|       |    while (l < size)
  |  | 7114|       |    {
  |  | 7115|       |        size_t n = size - l > sizeof(tmp) ? sizeof(tmp) : (size_t) (size - l);
  |  | 7116|       |        __ACCLIB_FUNCNAME(acc_hmemcpy)(tmp, (const acc_hbyte_p)buf + l, (acc_hsize_t)n);
  |  | 7117|       |        n = fwrite(tmp, 1, n, fp);
  |  | 7118|       |        if (n == 0)
  |  | 7119|       |            break;
  |  | 7120|       |        l += n;
  |  | 7121|       |    }
  |  | 7122|       |    return l;
  |  | 7123|       |#elif (ACC_MM_COMPACT || ACC_MM_LARGE || ACC_MM_HUGE)
  |  | 7124|       |    const acc_hbyte_p b = (const acc_hbyte_p) buf;
  |  | 7125|       |    acc_hsize_t l = 0;
  |  | 7126|       |    while (l < size)
  |  | 7127|       |    {
  |  | 7128|       |        size_t n;
  |  | 7129|       |        n = ACC_PTR_FP_OFF(b); n = (n <= 1) ? 0x8000u : (0u - n);
  |  | 7130|       |        if ((acc_hsize_t) n > size - l)
  |  | 7131|       |            n = (size_t) (size - l);
  |  | 7132|       |        n = fwrite((void __far*)b, 1, n, fp);
  |  | 7133|       |        if (n == 0)
  |  | 7134|       |            break;
  |  | 7135|       |        b += n; l += n;
  |  | 7136|       |    }
  |  | 7137|       |    return l;
  |  | 7138|       |#else
  |  | 7139|       |#  error "unknown memory model"
  |  | 7140|       |#endif
  |  | 7141|       |#else
  |  | 7142|       |    return fwrite(buf, 1, size, fp);
  |  | 7143|       |#endif
  |  | 7144|       |}
  |  | 7145|       |#endif
  |  | 7146|       |#if defined(ACC_WANT_ACCLIB_HSREAD)
  |  | 7147|       |#  undef ACC_WANT_ACCLIB_HSREAD
  |  | 7148|       |#define __ACCLIB_HSREAD_CH_INCLUDED 1
  |  | 7149|       |#if !defined(ACCLIB_PUBLIC)
  |  | 7150|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 7151|       |#endif
  |  | 7152|       |ACCLIB_PUBLIC(long, acc_safe_hread) (int fd, acc_hvoid_p buf, long size)
  |  | 7153|       |{
  |  | 7154|       |    acc_hbyte_p b = (acc_hbyte_p) buf;
  |  | 7155|       |    long l = 0;
  |  | 7156|       |    int saved_errno;
  |  | 7157|       |    saved_errno = errno;
  |  | 7158|       |    while (l < size)
  |  | 7159|       |    {
  |  | 7160|       |        long n = size - l;
  |  | 7161|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 7162|       |#  define __ACCLIB_REQUIRE_HREAD_CH 1
  |  | 7163|       |        errno = 0; n = acc_hread(fd, b, n);
  |  | 7164|       |#elif (ACC_OS_DOS32) && defined(__DJGPP__)
  |  | 7165|       |        errno = 0; n = _read(fd, b, n);
  |  | 7166|       |#else
  |  | 7167|       |        errno = 0; n = read(fd, b, n);
  |  | 7168|       |#endif
  |  | 7169|       |        if (n == 0)
  |  | 7170|       |            break;
  |  | 7171|       |        if (n < 0) {
  |  | 7172|       |#if defined(EAGAIN)
  |  | 7173|       |            if (errno == (EAGAIN)) continue;
  |  | 7174|       |#endif
  |  | 7175|       |#if defined(EINTR)
  |  | 7176|       |            if (errno == (EINTR)) continue;
  |  | 7177|       |#endif
  |  | 7178|       |            if (errno == 0) errno = 1;
  |  | 7179|       |            return l;
  |  | 7180|       |        }
  |  | 7181|       |        b += n; l += n;
  |  | 7182|       |    }
  |  | 7183|       |    errno = saved_errno;
  |  | 7184|       |    return l;
  |  | 7185|       |}
  |  | 7186|       |ACCLIB_PUBLIC(long, acc_safe_hwrite) (int fd, const acc_hvoid_p buf, long size)
  |  | 7187|       |{
  |  | 7188|       |    const acc_hbyte_p b = (const acc_hbyte_p) buf;
  |  | 7189|       |    long l = 0;
  |  | 7190|       |    int saved_errno;
  |  | 7191|       |    saved_errno = errno;
  |  | 7192|       |    while (l < size)
  |  | 7193|       |    {
  |  | 7194|       |        long n = size - l;
  |  | 7195|       |#if (ACC_HAVE_MM_HUGE_PTR)
  |  | 7196|       |#  define __ACCLIB_REQUIRE_HREAD_CH 1
  |  | 7197|       |        errno = 0; n = acc_hwrite(fd, b, n);
  |  | 7198|       |#elif (ACC_OS_DOS32) && defined(__DJGPP__)
  |  | 7199|       |        errno = 0; n = _write(fd, b, n);
  |  | 7200|       |#else
  |  | 7201|       |        errno = 0; n = write(fd, b, n);
  |  | 7202|       |#endif
  |  | 7203|       |        if (n == 0)
  |  | 7204|       |            break;
  |  | 7205|       |        if (n < 0) {
  |  | 7206|       |#if defined(EAGAIN)
  |  | 7207|       |            if (errno == (EAGAIN)) continue;
  |  | 7208|       |#endif
  |  | 7209|       |#if defined(EINTR)
  |  | 7210|       |            if (errno == (EINTR)) continue;
  |  | 7211|       |#endif
  |  | 7212|       |            if (errno == 0) errno = 1;
  |  | 7213|       |            return l;
  |  | 7214|       |        }
  |  | 7215|       |        b += n; l += n;
  |  | 7216|       |    }
  |  | 7217|       |    errno = saved_errno;
  |  | 7218|       |    return l;
  |  | 7219|       |}
  |  | 7220|       |#endif
  |  | 7221|       |#if defined(ACC_WANT_ACCLIB_PCLOCK)
  |  | 7222|       |#  undef ACC_WANT_ACCLIB_PCLOCK
  |  | 7223|       |#define __ACCLIB_PCLOCK_CH_INCLUDED 1
  |  | 7224|       |#if !defined(ACCLIB_PUBLIC)
  |  | 7225|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 7226|       |#endif
  |  | 7227|       |#if 1 && (ACC_OS_POSIX_LINUX && ACC_ARCH_AMD64 && ACC_ASM_SYNTAX_GNUC && !ACC_CFG_NO_SYSCALL)
  |  | 7228|       |#ifndef acc_pclock_syscall_clock_gettime
  |  | 7229|       |#define acc_pclock_syscall_clock_gettime acc_pclock_syscall_clock_gettime
  |  | 7230|       |#endif
  |  | 7231|       |__acc_static_noinline long acc_pclock_syscall_clock_gettime(long clockid, struct timespec *ts)
  |  | 7232|       |{
  |  | 7233|       |    unsigned long r = 228;
  |  | 7234|       |    ACC_COMPILE_TIME_ASSERT(sizeof(*ts) == 16);
  |  | 7235|       |    __asm__ __volatile__("syscall\n" : "=a" (r), "=m" (*ts) : "0" (r), "D" (clockid), "S" (ts) __ACC_ASM_CLOBBER_LIST_CC);
  |  | 7236|       |    return ACC_ICAST(long, r);
  |  | 7237|       |}
  |  | 7238|       |#endif
  |  | 7239|       |#if 1 && (ACC_OS_POSIX_LINUX && ACC_ARCH_I386 && ACC_ASM_SYNTAX_GNUC && !ACC_CFG_NO_SYSCALL) && defined(acc_int64l_t)
  |  | 7240|       |#ifndef acc_pclock_syscall_clock_gettime
  |  | 7241|       |#define acc_pclock_syscall_clock_gettime acc_pclock_syscall_clock_gettime
  |  | 7242|       |#endif
  |  | 7243|       |__acc_static_noinline long acc_pclock_syscall_clock_gettime(long clockid, struct timespec *ts)
  |  | 7244|       |{
  |  | 7245|       |    unsigned long r = 265 + ((sizeof(*ts) > 8) * (403 - 265));
  |  | 7246|       |    __asm__ __volatile__("pushl %%ebx\n pushl %%edx\n popl %%ebx\n int $0x80\n popl %%ebx\n": "=a" (r), "=m" (*ts) : "0" (r), "d" (clockid), "c" (ts) __ACC_ASM_CLOBBER_LIST_CC);
  |  | 7247|       |    return ACC_ICAST(long, r);
  |  | 7248|       |}
  |  | 7249|       |#endif
  |  | 7250|       |#if 0 && defined(acc_pclock_syscall_clock_gettime)
  |  | 7251|       |#ifndef acc_pclock_read_clock_gettime_r_syscall
  |  | 7252|       |#define acc_pclock_read_clock_gettime_r_syscall acc_pclock_read_clock_gettime_r_syscall
  |  | 7253|       |#endif
  |  | 7254|       |static int acc_pclock_read_clock_gettime_r_syscall(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7255|       |{
  |  | 7256|       |     struct timespec ts;
  |  | 7257|       |    if (acc_pclock_syscall_clock_gettime(0, &ts) != 0)
  |  | 7258|       |        return -1;
  |  | 7259|       |    c->tv_sec = ts.tv_sec;
  |  | 7260|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ts.tv_nsec);
  |  | 7261|       |    ACC_UNUSED(h); return 0;
  |  | 7262|       |}
  |  | 7263|       |#endif
  |  | 7264|       |#if (HAVE_GETTIMEOFDAY)
  |  | 7265|       |#ifndef acc_pclock_read_gettimeofday
  |  | 7266|       |#define acc_pclock_read_gettimeofday acc_pclock_read_gettimeofday
  |  | 7267|       |#endif
  |  | 7268|       |static int acc_pclock_read_gettimeofday(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7269|       |{
  |  | 7270|       |    struct timeval tv;
  |  | 7271|       |    if (gettimeofday(&tv, ACC_nullptr) != 0)
  |  | 7272|       |        return -1;
  |  | 7273|       |#if defined(acc_int64l_t)
  |  | 7274|       |    c->tv_sec = tv.tv_sec;
  |  | 7275|       |#else
  |  | 7276|       |    c->tv_sec_high = 0;
  |  | 7277|       |    c->tv_sec_low = tv.tv_sec;
  |  | 7278|       |#endif
  |  | 7279|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, (tv.tv_usec * 1000u));
  |  | 7280|       |    ACC_UNUSED(h); return 0;
  |  | 7281|       |}
  |  | 7282|       |#endif
  |  | 7283|       |#if defined(CLOCKS_PER_SEC) && !(ACC_CFG_NO_DOUBLE)
  |  | 7284|       |#ifndef acc_pclock_read_clock
  |  | 7285|       |#define acc_pclock_read_clock acc_pclock_read_clock
  |  | 7286|       |#endif
  |  | 7287|       |static int acc_pclock_read_clock(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7288|       |{
  |  | 7289|       |    clock_t ticks;
  |  | 7290|       |    double secs;
  |  | 7291|       |#if defined(acc_int64l_t)
  |  | 7292|       |    acc_uint64l_t nsecs;
  |  | 7293|       |    ticks = clock();
  |  | 7294|       |    secs = ACC_STATIC_CAST(double, ticks) / (CLOCKS_PER_SEC);
  |  | 7295|       |    nsecs = ACC_STATIC_CAST(acc_uint64l_t, (secs * 1000000000.0));
  |  | 7296|       |    c->tv_sec = ACC_STATIC_CAST(acc_int64l_t, (nsecs / 1000000000ul));
  |  | 7297|       |    nsecs = (nsecs % 1000000000ul);
  |  | 7298|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, nsecs);
  |  | 7299|       |#else
  |  | 7300|       |    ticks = clock();
  |  | 7301|       |    secs = ACC_STATIC_CAST(double, ticks) / (CLOCKS_PER_SEC);
  |  | 7302|       |    c->tv_sec_high = 0;
  |  | 7303|       |    c->tv_sec_low = ACC_STATIC_CAST(acc_uint32l_t, (secs + 0.5));
  |  | 7304|       |    c->tv_nsec = 0;
  |  | 7305|       |#endif
  |  | 7306|       |    ACC_UNUSED(h); return 0;
  |  | 7307|       |}
  |  | 7308|       |#endif
  |  | 7309|       |#if 1 && defined(acc_pclock_syscall_clock_gettime)
  |  | 7310|       |#ifndef acc_pclock_read_clock_gettime_m_syscall
  |  | 7311|       |#define acc_pclock_read_clock_gettime_m_syscall acc_pclock_read_clock_gettime_m_syscall
  |  | 7312|       |#endif
  |  | 7313|       |static int acc_pclock_read_clock_gettime_m_syscall(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7314|       |{
  |  | 7315|       |     struct timespec ts;
  |  | 7316|       |    if (acc_pclock_syscall_clock_gettime(1, &ts) != 0)
  |  | 7317|       |        return -1;
  |  | 7318|       |    c->tv_sec = ts.tv_sec;
  |  | 7319|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ts.tv_nsec);
  |  | 7320|       |    ACC_UNUSED(h); return 0;
  |  | 7321|       |}
  |  | 7322|       |#endif
  |  | 7323|       |#if (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__) && defined(UCLOCKS_PER_SEC) && !(ACC_CFG_NO_DOUBLE)
  |  | 7324|       |#ifndef acc_pclock_read_uclock
  |  | 7325|       |#define acc_pclock_read_uclock acc_pclock_read_uclock
  |  | 7326|       |#endif
  |  | 7327|       |static int acc_pclock_read_uclock(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7328|       |{
  |  | 7329|       |    acc_uint64l_t ticks;
  |  | 7330|       |    double secs;
  |  | 7331|       |    acc_uint64l_t nsecs;
  |  | 7332|       |    ticks = uclock();
  |  | 7333|       |    secs = ACC_STATIC_CAST(double, ticks) / (UCLOCKS_PER_SEC);
  |  | 7334|       |    nsecs = ACC_STATIC_CAST(acc_uint64l_t, (secs * 1000000000.0));
  |  | 7335|       |    c->tv_sec = nsecs / 1000000000ul;
  |  | 7336|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, (nsecs % 1000000000ul));
  |  | 7337|       |    ACC_UNUSED(h); return 0;
  |  | 7338|       |}
  |  | 7339|       |#endif
  |  | 7340|       |#if 1 && (HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID) && defined(acc_int64l_t)
  |  | 7341|       |#ifndef acc_pclock_read_clock_gettime_p_libc
  |  | 7342|       |#define acc_pclock_read_clock_gettime_p_libc acc_pclock_read_clock_gettime_p_libc
  |  | 7343|       |#endif
  |  | 7344|       |static int acc_pclock_read_clock_gettime_p_libc(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7345|       |{
  |  | 7346|       |    struct timespec ts;
  |  | 7347|       |    if (clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts) != 0)
  |  | 7348|       |        return -1;
  |  | 7349|       |    c->tv_sec = ts.tv_sec;
  |  | 7350|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ts.tv_nsec);
  |  | 7351|       |    ACC_UNUSED(h); return 0;
  |  | 7352|       |}
  |  | 7353|       |#endif
  |  | 7354|       |#if 1 && defined(acc_pclock_syscall_clock_gettime)
  |  | 7355|       |#ifndef acc_pclock_read_clock_gettime_p_syscall
  |  | 7356|       |#define acc_pclock_read_clock_gettime_p_syscall acc_pclock_read_clock_gettime_p_syscall
  |  | 7357|       |#endif
  |  | 7358|       |static int acc_pclock_read_clock_gettime_p_syscall(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7359|       |{
  |  | 7360|       |     struct timespec ts;
  |  | 7361|       |    if (acc_pclock_syscall_clock_gettime(2, &ts) != 0)
  |  | 7362|       |        return -1;
  |  | 7363|       |    c->tv_sec = ts.tv_sec;
  |  | 7364|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ts.tv_nsec);
  |  | 7365|       |    ACC_UNUSED(h); return 0;
  |  | 7366|       |}
  |  | 7367|       |#endif
  |  | 7368|       |#if (ACC_OS_CYGWIN || ACC_OS_WIN32 || ACC_OS_WIN64) && (ACC_HAVE_WINDOWS_H) && defined(acc_int64l_t)
  |  | 7369|       |#ifndef acc_pclock_read_getprocesstimes
  |  | 7370|       |#define acc_pclock_read_getprocesstimes acc_pclock_read_getprocesstimes
  |  | 7371|       |#endif
  |  | 7372|       |static int acc_pclock_read_getprocesstimes(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7373|       |{
  |  | 7374|       |    FILETIME ct, et, kt, ut;
  |  | 7375|       |    acc_uint64l_t ticks;
  |  | 7376|       |    if (GetProcessTimes(GetCurrentProcess(), &ct, &et, &kt, &ut) == 0)
  |  | 7377|       |        return -1;
  |  | 7378|       |    ticks = (ACC_STATIC_CAST(acc_uint64l_t, ut.dwHighDateTime) << 32) | ut.dwLowDateTime;
  |  | 7379|       |    if __acc_unlikely(h->ticks_base == 0)
  |  | 7380|       |        h->ticks_base = ticks;
  |  | 7381|       |    else
  |  | 7382|       |        ticks -= h->ticks_base;
  |  | 7383|       |    c->tv_sec = ACC_STATIC_CAST(acc_int64l_t, (ticks / 10000000ul));
  |  | 7384|       |    ticks = (ticks % 10000000ul) * 100u;
  |  | 7385|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ticks);
  |  | 7386|       |    ACC_UNUSED(h); return 0;
  |  | 7387|       |}
  |  | 7388|       |#endif
  |  | 7389|       |#if (HAVE_GETRUSAGE) && defined(RUSAGE_SELF)
  |  | 7390|       |#ifndef acc_pclock_read_getrusage
  |  | 7391|       |#define acc_pclock_read_getrusage acc_pclock_read_getrusage
  |  | 7392|       |#endif
  |  | 7393|       |static int acc_pclock_read_getrusage(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7394|       |{
  |  | 7395|       |    struct rusage ru;
  |  | 7396|       |    if (getrusage(RUSAGE_SELF, &ru) != 0)
  |  | 7397|       |        return -1;
  |  | 7398|       |#if defined(acc_int64l_t)
  |  | 7399|       |    c->tv_sec = ru.ru_utime.tv_sec;
  |  | 7400|       |#else
  |  | 7401|       |    c->tv_sec_high = 0;
  |  | 7402|       |    c->tv_sec_low = ru.ru_utime.tv_sec;
  |  | 7403|       |#endif
  |  | 7404|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, (ru.ru_utime.tv_usec * 1000u));
  |  | 7405|       |    ACC_UNUSED(h); return 0;
  |  | 7406|       |}
  |  | 7407|       |#endif
  |  | 7408|       |#if 1 && (HAVE_CLOCK_GETTIME) && defined(CLOCK_THREAD_CPUTIME_ID) && defined(acc_int64l_t)
  |  | 7409|       |#ifndef acc_pclock_read_clock_gettime_t_libc
  |  | 7410|       |#define acc_pclock_read_clock_gettime_t_libc acc_pclock_read_clock_gettime_t_libc
  |  | 7411|       |#endif
  |  | 7412|       |static int acc_pclock_read_clock_gettime_t_libc(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7413|       |{
  |  | 7414|       |    struct timespec ts;
  |  | 7415|       |    if (clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts) != 0)
  |  | 7416|       |        return -1;
  |  | 7417|       |    c->tv_sec = ts.tv_sec;
  |  | 7418|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ts.tv_nsec);
  |  | 7419|       |    ACC_UNUSED(h); return 0;
  |  | 7420|       |}
  |  | 7421|       |#endif
  |  | 7422|       |#if 1 && defined(acc_pclock_syscall_clock_gettime)
  |  | 7423|       |#ifndef acc_pclock_read_clock_gettime_t_syscall
  |  | 7424|       |#define acc_pclock_read_clock_gettime_t_syscall acc_pclock_read_clock_gettime_t_syscall
  |  | 7425|       |#endif
  |  | 7426|       |static int acc_pclock_read_clock_gettime_t_syscall(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7427|       |{
  |  | 7428|       |     struct timespec ts;
  |  | 7429|       |    if (acc_pclock_syscall_clock_gettime(3, &ts) != 0)
  |  | 7430|       |        return -1;
  |  | 7431|       |    c->tv_sec = ts.tv_sec;
  |  | 7432|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ts.tv_nsec);
  |  | 7433|       |    ACC_UNUSED(h); return 0;
  |  | 7434|       |}
  |  | 7435|       |#endif
  |  | 7436|       |#if (ACC_OS_CYGWIN || ACC_OS_WIN32 || ACC_OS_WIN64) && (ACC_HAVE_WINDOWS_H) && defined(acc_int64l_t)
  |  | 7437|       |#ifndef acc_pclock_read_getthreadtimes
  |  | 7438|       |#define acc_pclock_read_getthreadtimes acc_pclock_read_getthreadtimes
  |  | 7439|       |#endif
  |  | 7440|       |static int acc_pclock_read_getthreadtimes(acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7441|       |{
  |  | 7442|       |    FILETIME ct, et, kt, ut;
  |  | 7443|       |    acc_uint64l_t ticks;
  |  | 7444|       |    if (GetThreadTimes(GetCurrentThread(), &ct, &et, &kt, &ut) == 0)
  |  | 7445|       |        return -1;
  |  | 7446|       |    ticks = (ACC_STATIC_CAST(acc_uint64l_t, ut.dwHighDateTime) << 32) | ut.dwLowDateTime;
  |  | 7447|       |    if __acc_unlikely(h->ticks_base == 0)
  |  | 7448|       |        h->ticks_base = ticks;
  |  | 7449|       |    else
  |  | 7450|       |        ticks -= h->ticks_base;
  |  | 7451|       |    c->tv_sec = ACC_STATIC_CAST(acc_int64l_t, (ticks / 10000000ul));
  |  | 7452|       |    ticks = (ticks % 10000000ul) * 100u;
  |  | 7453|       |    c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ticks);
  |  | 7454|       |    ACC_UNUSED(h); return 0;
  |  | 7455|       |}
  |  | 7456|       |#endif
  |  | 7457|       |ACCLIB_PUBLIC(int, acc_pclock_open) (acc_pclock_handle_p h, int mode)
  |  | 7458|       |{
  |  | 7459|       |    acc_pclock_t c;
  |  | 7460|       |    int i;
  |  | 7461|       |    h->h = ACC_STATIC_CAST(acclib_handle_t, 0);
  |  | 7462|       |    h->mode = -1;
  |  | 7463|       |    h->read_error = 2;
  |  | 7464|       |    h->name = ACC_nullptr;
  |  | 7465|       |    h->gettime = ACC_STATIC_CAST(acc_pclock_gettime_t, ACC_nullptr);
  |  | 7466|       |#if defined(acc_int64l_t)
  |  | 7467|       |    h->ticks_base = 0;
  |  | 7468|       |#endif
  |  | 7469|       |    switch (mode)
  |  | 7470|       |    {
  |  | 7471|       |    case ACC_PCLOCK_REALTIME:
  |  | 7472|       |#     if defined(acc_pclock_read_clock_gettime_r_syscall)
  |  | 7473|       |        if (acc_pclock_read_clock_gettime_r_syscall(h, &c) == 0) {
  |  | 7474|       |            h->gettime = acc_pclock_read_clock_gettime_r_syscall;
  |  | 7475|       |            h->name = "CLOCK_REALTIME/syscall";
  |  | 7476|       |            break;
  |  | 7477|       |        }
  |  | 7478|       |#     endif
  |  | 7479|       |#     if defined(acc_pclock_read_gettimeofday)
  |  | 7480|       |        if (acc_pclock_read_gettimeofday(h, &c) == 0) {
  |  | 7481|       |            h->gettime = acc_pclock_read_gettimeofday;
  |  | 7482|       |            h->name = "gettimeofday";
  |  | 7483|       |            break;
  |  | 7484|       |        }
  |  | 7485|       |#     endif
  |  | 7486|       |        break;
  |  | 7487|       |    case ACC_PCLOCK_MONOTONIC:
  |  | 7488|       |#     if defined(acc_pclock_read_clock_gettime_m_syscall)
  |  | 7489|       |        if (acc_pclock_read_clock_gettime_m_syscall(h, &c) == 0) {
  |  | 7490|       |            h->gettime = acc_pclock_read_clock_gettime_m_syscall;
  |  | 7491|       |            h->name = "CLOCK_MONOTONIC/syscall";
  |  | 7492|       |            break;
  |  | 7493|       |        }
  |  | 7494|       |#     endif
  |  | 7495|       |#     if defined(acc_pclock_read_uclock)
  |  | 7496|       |        if (acc_pclock_read_uclock(h, &c) == 0) {
  |  | 7497|       |            h->gettime = acc_pclock_read_uclock;
  |  | 7498|       |            h->name = "uclock";
  |  | 7499|       |            break;
  |  | 7500|       |        }
  |  | 7501|       |#     endif
  |  | 7502|       |#     if defined(acc_pclock_read_clock)
  |  | 7503|       |        if (acc_pclock_read_clock(h, &c) == 0) {
  |  | 7504|       |            h->gettime = acc_pclock_read_clock;
  |  | 7505|       |            h->name = "clock";
  |  | 7506|       |            break;
  |  | 7507|       |        }
  |  | 7508|       |#     endif
  |  | 7509|       |        break;
  |  | 7510|       |    case ACC_PCLOCK_PROCESS_CPUTIME_ID:
  |  | 7511|       |#     if defined(acc_pclock_read_getprocesstimes)
  |  | 7512|       |        if (acc_pclock_read_getprocesstimes(h, &c) == 0) {
  |  | 7513|       |            h->gettime = acc_pclock_read_getprocesstimes;
  |  | 7514|       |            h->name = "GetProcessTimes";
  |  | 7515|       |            break;
  |  | 7516|       |        }
  |  | 7517|       |#     endif
  |  | 7518|       |#     if defined(acc_pclock_read_clock_gettime_p_syscall)
  |  | 7519|       |        if (acc_pclock_read_clock_gettime_p_syscall(h, &c) == 0) {
  |  | 7520|       |            h->gettime = acc_pclock_read_clock_gettime_p_syscall;
  |  | 7521|       |            h->name = "CLOCK_PROCESS_CPUTIME_ID/syscall";
  |  | 7522|       |            break;
  |  | 7523|       |        }
  |  | 7524|       |#     endif
  |  | 7525|       |#     if defined(acc_pclock_read_clock_gettime_p_libc)
  |  | 7526|       |        if (acc_pclock_read_clock_gettime_p_libc(h, &c) == 0) {
  |  | 7527|       |            h->gettime = acc_pclock_read_clock_gettime_p_libc;
  |  | 7528|       |            h->name = "CLOCK_PROCESS_CPUTIME_ID/libc";
  |  | 7529|       |            break;
  |  | 7530|       |        }
  |  | 7531|       |#     endif
  |  | 7532|       |#     if defined(acc_pclock_read_getrusage)
  |  | 7533|       |        if (acc_pclock_read_getrusage(h, &c) == 0) {
  |  | 7534|       |            h->gettime = acc_pclock_read_getrusage;
  |  | 7535|       |            h->name = "getrusage";
  |  | 7536|       |            break;
  |  | 7537|       |        }
  |  | 7538|       |#     endif
  |  | 7539|       |        break;
  |  | 7540|       |    case ACC_PCLOCK_THREAD_CPUTIME_ID:
  |  | 7541|       |#     if defined(acc_pclock_read_getthreadtimes)
  |  | 7542|       |        if (acc_pclock_read_getthreadtimes(h, &c) == 0) {
  |  | 7543|       |            h->gettime = acc_pclock_read_getthreadtimes;
  |  | 7544|       |            h->name = "GetThreadTimes";
  |  | 7545|       |        }
  |  | 7546|       |#     endif
  |  | 7547|       |#     if defined(acc_pclock_read_clock_gettime_t_syscall)
  |  | 7548|       |        if (acc_pclock_read_clock_gettime_t_syscall(h, &c) == 0) {
  |  | 7549|       |            h->gettime = acc_pclock_read_clock_gettime_t_syscall;
  |  | 7550|       |            h->name = "CLOCK_THREAD_CPUTIME_ID/syscall";
  |  | 7551|       |            break;
  |  | 7552|       |        }
  |  | 7553|       |#     endif
  |  | 7554|       |#     if defined(acc_pclock_read_clock_gettime_t_libc)
  |  | 7555|       |        if (acc_pclock_read_clock_gettime_t_libc(h, &c) == 0) {
  |  | 7556|       |            h->gettime = acc_pclock_read_clock_gettime_t_libc;
  |  | 7557|       |            h->name = "CLOCK_THREAD_CPUTIME_ID/libc";
  |  | 7558|       |            break;
  |  | 7559|       |        }
  |  | 7560|       |#     endif
  |  | 7561|       |        break;
  |  | 7562|       |    }
  |  | 7563|       |    if (!h->gettime)
  |  | 7564|       |        return -1;
  |  | 7565|       |    if (!h->h)
  |  | 7566|       |        h->h = ACC_STATIC_CAST(acclib_handle_t, 1);
  |  | 7567|       |    h->mode = mode;
  |  | 7568|       |    h->read_error = 0;
  |  | 7569|       |    if (!h->name)
  |  | 7570|       |        h->name = "unknown";
  |  | 7571|       |    for (i = 0; i < 10; i++) {
  |  | 7572|       |        __ACCLIB_FUNCNAME(acc_pclock_read)(h, &c);
  |  | 7573|       |    }
  |  | 7574|       |    return 0;
  |  | 7575|       |}
  |  | 7576|       |ACCLIB_PUBLIC(int, acc_pclock_open_default) (acc_pclock_handle_p h)
  |  | 7577|       |{
  |  | 7578|       |    if (__ACCLIB_FUNCNAME(acc_pclock_open)(h, ACC_PCLOCK_PROCESS_CPUTIME_ID) == 0)
  |  | 7579|       |        return 0;
  |  | 7580|       |    if (__ACCLIB_FUNCNAME(acc_pclock_open)(h, ACC_PCLOCK_MONOTONIC) == 0)
  |  | 7581|       |        return 0;
  |  | 7582|       |    if (__ACCLIB_FUNCNAME(acc_pclock_open)(h, ACC_PCLOCK_REALTIME) == 0)
  |  | 7583|       |        return 0;
  |  | 7584|       |    if (__ACCLIB_FUNCNAME(acc_pclock_open)(h, ACC_PCLOCK_THREAD_CPUTIME_ID) == 0)
  |  | 7585|       |        return 0;
  |  | 7586|       |    return -1;
  |  | 7587|       |}
  |  | 7588|       |ACCLIB_PUBLIC(int, acc_pclock_close) (acc_pclock_handle_p h)
  |  | 7589|       |{
  |  | 7590|       |    h->h = ACC_STATIC_CAST(acclib_handle_t, 0);
  |  | 7591|       |    h->mode = -1;
  |  | 7592|       |    h->name = ACC_nullptr;
  |  | 7593|       |    h->gettime = ACC_STATIC_CAST(acc_pclock_gettime_t, ACC_nullptr);
  |  | 7594|       |    return 0;
  |  | 7595|       |}
  |  | 7596|       |ACCLIB_PUBLIC(void, acc_pclock_read) (acc_pclock_handle_p h, acc_pclock_p c)
  |  | 7597|       |{
  |  | 7598|       |    if (h->gettime) {
  |  | 7599|       |        if (h->gettime(h, c) == 0)
  |  | 7600|       |            return;
  |  | 7601|       |    }
  |  | 7602|       |    h->read_error = 1;
  |  | 7603|       |#if defined(acc_int64l_t)
  |  | 7604|       |    c->tv_sec = 0;
  |  | 7605|       |#else
  |  | 7606|       |    c->tv_sec_high = 0;
  |  | 7607|       |    c->tv_sec_low = 0;
  |  | 7608|       |#endif
  |  | 7609|       |    c->tv_nsec = 0;
  |  | 7610|       |}
  |  | 7611|       |#if !(ACC_CFG_NO_DOUBLE)
  |  | 7612|       |ACCLIB_PUBLIC(double, acc_pclock_get_elapsed) (acc_pclock_handle_p h, const acc_pclock_p start, const acc_pclock_p stop)
  |  | 7613|       |{
  |  | 7614|       |    if (!h->h) { h->mode = -1; return 0.0; }
  |  | 7615|       |    {
  |  | 7616|       |#if 1 && (ACC_ARCH_I386 && ACC_CC_GNUC) && defined(__STRICT_ALIGNMENT__)
  |  | 7617|       |    float tstop, tstart;
  |  | 7618|       |    tstop  = ACC_STATIC_CAST(float, (stop->tv_sec  + stop->tv_nsec  / 1000000000.0));
  |  | 7619|       |    tstart = ACC_STATIC_CAST(float, (start->tv_sec + start->tv_nsec / 1000000000.0));
  |  | 7620|       |#elif defined(acc_int64l_t)
  |  | 7621|       |    double tstop, tstart;
  |  | 7622|       |#if 1 && (ACC_CC_INTELC)
  |  | 7623|       |    { acc_int64l_t a = stop->tv_sec; acc_uint32l_t b = stop->tv_nsec;
  |  | 7624|       |    tstop = a + b / 1000000000.0; }
  |  | 7625|       |    { acc_int64l_t a = start->tv_sec; acc_uint32l_t b = start->tv_nsec;
  |  | 7626|       |    tstart = a + b / 1000000000.0; }
  |  | 7627|       |#else
  |  | 7628|       |    tstop  = stop->tv_sec  + stop->tv_nsec  / 1000000000.0;
  |  | 7629|       |    tstart = start->tv_sec + start->tv_nsec / 1000000000.0;
  |  | 7630|       |#endif
  |  | 7631|       |#else
  |  | 7632|       |    double tstop, tstart;
  |  | 7633|       |    tstop  = stop->tv_sec_low  + stop->tv_nsec  / 1000000000.0;
  |  | 7634|       |    tstart = start->tv_sec_low + start->tv_nsec / 1000000000.0;
  |  | 7635|       |#endif
  |  | 7636|       |    return tstop - tstart;
  |  | 7637|       |    }
  |  | 7638|       |}
  |  | 7639|       |#endif
  |  | 7640|       |ACCLIB_PUBLIC(int, acc_pclock_flush_cpu_cache) (acc_pclock_handle_p h, unsigned flags)
  |  | 7641|       |{
  |  | 7642|       |    ACC_UNUSED(h); ACC_UNUSED(flags);
  |  | 7643|       |    return -1;
  |  | 7644|       |}
  |  | 7645|       |#endif
  |  | 7646|       |#if defined(ACC_WANT_ACCLIB_MISC)
  |  | 7647|       |#  undef ACC_WANT_ACCLIB_MISC
  |  | 7648|       |#define __ACCLIB_MISC_CH_INCLUDED 1
  |  | 7649|       |#if !defined(ACCLIB_PUBLIC)
  |  | 7650|       |#  define ACCLIB_PUBLIC(r,f)                r __ACCLIB_FUNCNAME(f)
  |  | 7651|       |#endif
  |  | 7652|       |#if !defined(ACCLIB_PUBLIC_NOINLINE)
  |  | 7653|       |#  if !defined(__acc_noinline)
  |  | 7654|       |#    define ACCLIB_PUBLIC_NOINLINE(r,f)     r __ACCLIB_FUNCNAME(f)
  |  | 7655|       |#  elif (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x030400ul) || ACC_CC_LLVM)
  |  | 7656|       |#    define ACCLIB_PUBLIC_NOINLINE(r,f)     __acc_noinline __attribute__((__used__)) r __ACCLIB_FUNCNAME(f)
  |  | 7657|       |#  else
  |  | 7658|       |#    define ACCLIB_PUBLIC_NOINLINE(r,f)     __acc_noinline r __ACCLIB_FUNCNAME(f)
  |  | 7659|       |#  endif
  |  | 7660|       |#endif
  |  | 7661|       |#if (ACC_OS_WIN32 && ACC_CC_PELLESC && (__POCC__ >= 290))
  |  | 7662|       |#  pragma warn(push)
  |  | 7663|       |#  pragma warn(disable:2007)
  |  | 7664|       |#endif
  |  | 7665|       |ACCLIB_PUBLIC(const char *, acc_getenv) (const char *s)
  |  | 7666|       |{
  |  | 7667|       |#if (HAVE_GETENV)
  |  | 7668|       |    return getenv(s);
  |  | 7669|       |#else
  |  | 7670|       |    ACC_UNUSED(s); return ACC_STATIC_CAST(const char *, 0);
  |  | 7671|       |#endif
  |  | 7672|       |}
  |  | 7673|       |ACCLIB_PUBLIC(acc_intptr_t, acc_get_osfhandle) (int fd)
  |  | 7674|       |{
  |  | 7675|       |    if (fd < 0)
  |  | 7676|       |        return -1;
  |  | 7677|       |#if (ACC_OS_CYGWIN)
  |  | 7678|       |    return get_osfhandle(fd);
  |  | 7679|       |#elif (ACC_OS_EMX && defined(__RSXNT__))
  |  | 7680|       |    return -1;
  |  | 7681|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
  |  | 7682|       |    return -1;
  |  | 7683|       |#elif (ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 7684|       |# if (ACC_CC_PELLESC && (__POCC__ < 280))
  |  | 7685|       |    return -1;
  |  | 7686|       |# elif (ACC_CC_WATCOMC && (__WATCOMC__ < 1000))
  |  | 7687|       |    return -1;
  |  | 7688|       |# elif (ACC_CC_WATCOMC && (__WATCOMC__ < 1100))
  |  | 7689|       |    return _os_handle(fd);
  |  | 7690|       |# else
  |  | 7691|       |    return _get_osfhandle(fd);
  |  | 7692|       |# endif
  |  | 7693|       |#else
  |  | 7694|       |    return fd;
  |  | 7695|       |#endif
  |  | 7696|       |}
  |  | 7697|       |ACCLIB_PUBLIC(int, acc_set_binmode) (int fd, int binary)
  |  | 7698|       |{
  |  | 7699|       |#if (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC) && defined(__MINT__)
  |  | 7700|       |    FILE* fp; int old_binary;
  |  | 7701|       |    if (fd == STDIN_FILENO) fp = stdin;
  |  | 7702|       |    else if (fd == STDOUT_FILENO) fp = stdout;
  |  | 7703|       |    else if (fd == STDERR_FILENO) fp = stderr;
  |  | 7704|       |    else return -1;
  |  | 7705|       |    old_binary = fp->__mode.__binary;
  |  | 7706|       |    __set_binmode(fp, binary ? 1 : 0);
  |  | 7707|       |    return old_binary ? 1 : 0;
  |  | 7708|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS)
  |  | 7709|       |    ACC_UNUSED(fd); ACC_UNUSED(binary);
  |  | 7710|       |    return -1;
  |  | 7711|       |#elif (ACC_OS_DOS16 && (ACC_CC_AZTECC || ACC_CC_PACIFICC))
  |  | 7712|       |    ACC_UNUSED(fd); ACC_UNUSED(binary);
  |  | 7713|       |    return -1;
  |  | 7714|       |#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 7715|       |    int r; unsigned old_flags = __djgpp_hwint_flags;
  |  | 7716|       |    ACC_COMPILE_TIME_ASSERT(O_BINARY > 0)
  |  | 7717|       |    ACC_COMPILE_TIME_ASSERT(O_TEXT > 0)
  |  | 7718|       |    if (fd < 0) return -1;
  |  | 7719|       |    r = setmode(fd, binary ? O_BINARY : O_TEXT);
  |  | 7720|       |    if ((old_flags & 1u) != (__djgpp_hwint_flags & 1u))
  |  | 7721|       |        __djgpp_set_ctrl_c(!(old_flags & 1));
  |  | 7722|       |    if (r == -1) return -1;
  |  | 7723|       |    return (r & O_TEXT) ? 0 : 1;
  |  | 7724|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
  |  | 7725|       |    if (fd < 0) return -1;
  |  | 7726|       |    ACC_UNUSED(binary);
  |  | 7727|       |    return 1;
  |  | 7728|       |#elif (ACC_OS_DOS32 && ACC_CC_HIGHC)
  |  | 7729|       |    FILE* fp; int r;
  |  | 7730|       |    if (fd == fileno(stdin)) fp = stdin;
  |  | 7731|       |    else if (fd == fileno(stdout)) fp = stdout;
  |  | 7732|       |    else if (fd == fileno(stderr)) fp = stderr;
  |  | 7733|       |    else return -1;
  |  | 7734|       |    r = _setmode(fp, binary ? _BINARY : _TEXT);
  |  | 7735|       |    if (r == -1) return -1;
  |  | 7736|       |    return (r & _BINARY) ? 1 : 0;
  |  | 7737|       |#elif (ACC_OS_WIN32 && ACC_CC_MWERKS) && defined(__MSL__)
  |  | 7738|       |    ACC_UNUSED(fd); ACC_UNUSED(binary);
  |  | 7739|       |    return -1;
  |  | 7740|       |#elif (ACC_OS_CYGWIN && (ACC_CC_GNUC < 0x025a00ul))
  |  | 7741|       |    ACC_UNUSED(fd); ACC_UNUSED(binary);
  |  | 7742|       |    return -1;
  |  | 7743|       |#elif (ACC_OS_CYGWIN || ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_EMX || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 7744|       |    int r;
  |  | 7745|       |#if !(ACC_CC_ZORTECHC)
  |  | 7746|       |    ACC_COMPILE_TIME_ASSERT(O_BINARY > 0)
  |  | 7747|       |#endif
  |  | 7748|       |    ACC_COMPILE_TIME_ASSERT(O_TEXT > 0)
  |  | 7749|       |    if (fd < 0) return -1;
  |  | 7750|       |    r = setmode(fd, binary ? O_BINARY : O_TEXT);
  |  | 7751|       |    if (r == -1) return -1;
  |  | 7752|       |    return (r & O_TEXT) ? 0 : 1;
  |  | 7753|       |#else
  |  | 7754|       |    if (fd < 0) return -1;
  |  | 7755|       |    ACC_UNUSED(binary);
  |  | 7756|       |    return 1;
  |  | 7757|       |#endif
  |  | 7758|       |}
  |  | 7759|       |ACCLIB_PUBLIC(int, acc_isatty) (int fd)
  |  | 7760|       |{
  |  | 7761|       |    if (fd < 0)
  |  | 7762|       |        return 0;
  |  | 7763|       |#if (ACC_OS_DOS16 && !(ACC_CC_AZTECC))
  |  | 7764|       |    {
  |  | 7765|       |        union REGS ri, ro;
  |  | 7766|       |        ri.x.ax = 0x4400; ri.x.bx = fd;
  |  | 7767|       |        int86(0x21, &ri, &ro);
  |  | 7768|       |        if ((ro.x.cflag & 1) == 0)
  |  | 7769|       |            if ((ro.x.ax & 0x83) != 0x83)
  |  | 7770|       |                return 0;
  |  | 7771|       |    }
  |  | 7772|       |#elif (ACC_OS_DOS32 && ACC_CC_WATCOMC)
  |  | 7773|       |    {
  |  | 7774|       |        union REGS ri, ro;
  |  | 7775|       |        ri.w.ax = 0x4400; ri.w.bx = ACC_STATIC_CAST(unsigned short, fd);
  |  | 7776|       |        int386(0x21, &ri, &ro);
  |  | 7777|       |        if ((ro.w.cflag & 1) == 0)
  |  | 7778|       |            if ((ro.w.ax & 0x83) != 0x83)
  |  | 7779|       |                return 0;
  |  | 7780|       |    }
  |  | 7781|       |#elif (ACC_HAVE_WINDOWS_H)
  |  | 7782|       |    {
  |  | 7783|       |        acc_intptr_t h = __ACCLIB_FUNCNAME(acc_get_osfhandle)(fd);
  |  | 7784|       |        ACC_COMPILE_TIME_ASSERT(sizeof(h) == sizeof(HANDLE))
  |  | 7785|       |        if (h != -1)
  |  | 7786|       |        {
  |  | 7787|       |            DWORD d = 0;
  |  | 7788|       |            if (GetConsoleMode(ACC_REINTERPRET_CAST(HANDLE, h), &d) == 0)
  |  | 7789|       |                return 0;
  |  | 7790|       |        }
  |  | 7791|       |    }
  |  | 7792|       |#endif
  |  | 7793|       |#if (HAVE_ISATTY)
  |  | 7794|       |    return (isatty(fd)) ? 1 : 0;
  |  | 7795|       |#else
  |  | 7796|       |    return 0;
  |  | 7797|       |#endif
  |  | 7798|       |}
  |  | 7799|       |ACCLIB_PUBLIC(int, acc_mkdir) (const char* name, unsigned mode)
  |  | 7800|       |{
  |  | 7801|       |#if !(HAVE_MKDIR)
  |  | 7802|       |    ACC_UNUSED(name); ACC_UNUSED(mode);
  |  | 7803|       |    return -1;
  |  | 7804|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
  |  | 7805|       |    ACC_UNUSED(mode);
  |  | 7806|       |    return Dcreate(name);
  |  | 7807|       |#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
  |  | 7808|       |    return mkdir(name, mode);
  |  | 7809|       |#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
  |  | 7810|       |    return mkdir(name, mode);
  |  | 7811|       |#elif ((ACC_OS_DOS16 || ACC_OS_DOS32) && (ACC_CC_HIGHC || ACC_CC_PACIFICC))
  |  | 7812|       |    ACC_UNUSED(mode);
  |  | 7813|       |    return mkdir(ACC_UNCONST_CAST(char *, name));
  |  | 7814|       |#elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 7815|       |    ACC_UNUSED(mode);
  |  | 7816|       |    return mkdir(name);
  |  | 7817|       |#elif (ACC_CC_WATCOMC)
  |  | 7818|       |    return mkdir(name, ACC_STATIC_CAST(mode_t, mode));
  |  | 7819|       |#else
  |  | 7820|       |    return mkdir(name, mode);
  |  | 7821|       |#endif
  |  | 7822|       |}
  |  | 7823|       |ACCLIB_PUBLIC(int, acc_rmdir) (const char* name)
  |  | 7824|       |{
  |  | 7825|       |#if !(HAVE_RMDIR)
  |  | 7826|       |    ACC_UNUSED(name);
  |  | 7827|       |    return -1;
  |  | 7828|       |#elif ((ACC_OS_DOS16 || ACC_OS_DOS32) && (ACC_CC_HIGHC || ACC_CC_PACIFICC))
  |  | 7829|       |    return rmdir(ACC_UNCONST_CAST(char *, name));
  |  | 7830|       |#else
  |  | 7831|       |    return rmdir(name);
  |  | 7832|       |#endif
  |  | 7833|       |}
  |  | 7834|       |#if defined(acc_int32e_t)
  |  | 7835|       |ACCLIB_PUBLIC(acc_int32e_t, acc_muldiv32s) (acc_int32e_t a, acc_int32e_t b, acc_int32e_t x)
  |  | 7836|       |{
  |  | 7837|       |    acc_int32e_t r = 0;
  |  | 7838|       |    if __acc_likely(x != 0)
  |  | 7839|       |    {
  |  | 7840|       |#if defined(acc_int64l_t)
  |  | 7841|       |        acc_int64l_t rr = (ACC_ICONV(acc_int64l_t, a) * b) / x;
  |  | 7842|       |        r = ACC_ITRUNC(acc_int32e_t, rr);
  |  | 7843|       |#else
  |  | 7844|       |        ACC_UNUSED(a); ACC_UNUSED(b);
  |  | 7845|       |#endif
  |  | 7846|       |    }
  |  | 7847|       |    return r;
  |  | 7848|       |}
  |  | 7849|       |ACCLIB_PUBLIC(acc_uint32e_t, acc_muldiv32u) (acc_uint32e_t a, acc_uint32e_t b, acc_uint32e_t x)
  |  | 7850|       |{
  |  | 7851|       |    acc_uint32e_t r = 0;
  |  | 7852|       |    if __acc_likely(x != 0)
  |  | 7853|       |    {
  |  | 7854|       |#if defined(acc_int64l_t)
  |  | 7855|       |        acc_uint64l_t rr = (ACC_ICONV(acc_uint64l_t, a) * b) / x;
  |  | 7856|       |        r = ACC_ITRUNC(acc_uint32e_t, rr);
  |  | 7857|       |#else
  |  | 7858|       |        ACC_UNUSED(a); ACC_UNUSED(b);
  |  | 7859|       |#endif
  |  | 7860|       |    }
  |  | 7861|       |    return r;
  |  | 7862|       |}
  |  | 7863|       |#endif
  |  | 7864|       |#if (ACC_OS_WIN16)
  |  | 7865|       |ACC_EXTERN_C void __far __pascal DebugBreak(void);
  |  | 7866|       |#endif
  |  | 7867|       |ACCLIB_PUBLIC_NOINLINE(void, acc_debug_break) (void)
  |  | 7868|       |{
  |  | 7869|       |#if (ACC_OS_WIN16)
  |  | 7870|       |    DebugBreak();
  |  | 7871|       |#elif (ACC_ARCH_I086)
  |  | 7872|       |#elif (ACC_OS_WIN64) && (ACC_HAVE_WINDOWS_H)
  |  | 7873|       |    DebugBreak();
  |  | 7874|       |#elif (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
  |  | 7875|       |    __asm__ __volatile__("int $3\n" : : __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7876|       |#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
  |  | 7877|       |    __asm { int 3 }
  |  | 7878|       |#elif (ACC_OS_WIN32) && (ACC_HAVE_WINDOWS_H)
  |  | 7879|       |    DebugBreak();
  |  | 7880|       |#else
  |  | 7881|       |    volatile acc_intptr_t a = -1;
  |  | 7882|       |    * ACC_STATIC_CAST(volatile unsigned long *, ACC_REINTERPRET_CAST(volatile void *, a)) = ~0ul;
  |  | 7883|       |#endif
  |  | 7884|       |}
  |  | 7885|       |ACCLIB_PUBLIC_NOINLINE(void, acc_debug_nop) (void)
  |  | 7886|       |{
  |  | 7887|       |}
  |  | 7888|       |ACCLIB_PUBLIC_NOINLINE(int, acc_debug_align_check_query) (void)
  |  | 7889|       |{
  |  | 7890|       |#if (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
  |  | 7891|       |# if (ACC_ARCH_AMD64)
  |  | 7892|       |    acc_uint64e_t r = 0;
  |  | 7893|       |# else
  |  | 7894|       |    size_t r = 0;
  |  | 7895|       |# endif
  |  | 7896|       |    __asm__ __volatile__("pushf\n pop %0\n" : "=a" (r) : __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7897|       |    return ACC_ICONV(int, (r >> 18) & 1);
  |  | 7898|       |#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
  |  | 7899|       |    unsigned long r;
  |  | 7900|       |    __asm {
  |  | 7901|       |        pushf
  |  | 7902|       |        pop eax
  |  | 7903|       |        mov r,eax
  |  | 7904|       |    }
  |  | 7905|       |    return ACC_ICONV(int, (r >> 18) & 1);
  |  | 7906|       |#else
  |  | 7907|       |    return -1;
  |  | 7908|       |#endif
  |  | 7909|       |}
  |  | 7910|       |ACCLIB_PUBLIC_NOINLINE(int, acc_debug_align_check_enable) (int v)
  |  | 7911|       |{
  |  | 7912|       |#if (ACC_ARCH_AMD64) && (ACC_ASM_SYNTAX_GNUC)
  |  | 7913|       |    if (v) {
  |  | 7914|       |        __asm__ __volatile__("pushf\n orl $262144,(%%rsp)\n popf\n" : : __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7915|       |    } else {
  |  | 7916|       |        __asm__ __volatile__("pushf\n andl $-262145,(%%rsp)\n popf\n" : : __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7917|       |    }
  |  | 7918|       |    return 0;
  |  | 7919|       |#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
  |  | 7920|       |    if (v) {
  |  | 7921|       |        __asm__ __volatile__("pushf\n orl $262144,(%%esp)\n popf\n" : : __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7922|       |    } else {
  |  | 7923|       |        __asm__ __volatile__("pushf\n andl $-262145,(%%esp)\n popf\n" : : __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7924|       |    }
  |  | 7925|       |    return 0;
  |  | 7926|       |#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
  |  | 7927|       |    if (v) { __asm {
  |  | 7928|       |        pushf
  |  | 7929|       |        or dword ptr [esp],262144
  |  | 7930|       |        popf
  |  | 7931|       |    }} else { __asm {
  |  | 7932|       |        pushf
  |  | 7933|       |        and dword ptr [esp],-262145
  |  | 7934|       |        popf
  |  | 7935|       |    }}
  |  | 7936|       |    return 0;
  |  | 7937|       |#else
  |  | 7938|       |    ACC_UNUSED(v); return -1;
  |  | 7939|       |#endif
  |  | 7940|       |}
  |  | 7941|       |ACCLIB_PUBLIC_NOINLINE(unsigned, acc_debug_running_on_qemu) (void)
  |  | 7942|       |{
  |  | 7943|       |    unsigned r = 0;
  |  | 7944|       |#if (ACC_OS_POSIX_LINUX || ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 7945|       |    const char* p;
  |  | 7946|       |    p = __ACCLIB_FUNCNAME(acc_getenv)(ACC_PP_STRINGIZE(ACC_ENV_RUNNING_ON_QEMU));
  |  | 7947|       |    if (p) {
  |  | 7948|       |        if (p[0] == 0) r = 0;
  |  | 7949|       |        else if ((p[0] >= '0' && p[0] <= '9') && p[1] == 0) r = ACC_ICAST(unsigned, p[0]) - '0';
  |  | 7950|       |        else r = 1;
  |  | 7951|       |    }
  |  | 7952|       |#endif
  |  | 7953|       |    return r;
  |  | 7954|       |}
  |  | 7955|       |ACCLIB_PUBLIC_NOINLINE(unsigned, acc_debug_running_on_valgrind) (void)
  |  | 7956|       |{
  |  | 7957|       |#if (ACC_ARCH_AMD64 && ACC_ABI_ILP32)
  |  | 7958|       |    return 0;
  |  | 7959|       |#elif (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
  |  | 7960|       |    volatile size_t a[6];
  |  | 7961|       |    size_t r = 0;
  |  | 7962|       |    a[0] = 0x1001; a[1] = 0; a[2] = 0; a[3] = 0; a[4] = 0; a[5] = 0;
  |  | 7963|       |#  if (ACC_ARCH_AMD64)
  |  | 7964|       |    __asm__ __volatile__(".byte 0x48,0xc1,0xc7,0x03,0x48,0xc1,0xc7,0x0d,0x48,0xc1,0xc7,0x3d,0x48,0xc1,0xc7,0x33,0x48,0x87,0xdb\n" : "=d" (r) : "a" (&a[0]), "d" (r) __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7965|       |#  elif (ACC_ARCH_I386)
  |  | 7966|       |    __asm__ __volatile__(".byte 0xc1,0xc7,0x03,0xc1,0xc7,0x0d,0xc1,0xc7,0x1d,0xc1,0xc7,0x13,0x87,0xdb\n" : "=d" (r) : "a" (&a[0]), "d" (r) __ACC_ASM_CLOBBER_LIST_CC_MEMORY);
  |  | 7967|       |#  endif
  |  | 7968|       |    return ACC_ITRUNC(unsigned, r);
  |  | 7969|       |#else
  |  | 7970|       |    return 0;
  |  | 7971|       |#endif
  |  | 7972|       |}
  |  | 7973|       |#if (ACC_OS_WIN32 && ACC_CC_PELLESC && (__POCC__ >= 290))
  |  | 7974|       |#  pragma warn(pop)
  |  | 7975|       |#endif
  |  | 7976|       |#endif
  |  | 7977|       |#if defined(ACC_WANT_ACCLIB_WILDARGV)
  |  | 7978|       |#  undef ACC_WANT_ACCLIB_WILDARGV
  |  | 7979|       |#define __ACCLIB_WILDARGV_CH_INCLUDED 1
  |  | 7980|       |#if !defined(ACCLIB_PUBLIC)
  |  | 7981|       |#  define ACCLIB_PUBLIC(r,f)    r __ACCLIB_FUNCNAME(f)
  |  | 7982|       |#endif
  |  | 7983|       |#if (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
  |  | 7984|       |#if 0 && (ACC_CC_MSC)
  |  | 7985|       |ACC_EXTERN_C int __acc_cdecl __setargv(void);
  |  | 7986|       |ACC_EXTERN_C int __acc_cdecl _setargv(void);
  |  | 7987|       |ACC_EXTERN_C int __acc_cdecl _setargv(void) { return __setargv(); }
  |  | 7988|       |#endif
  |  | 7989|       |#endif
  |  | 7990|       |#if (ACC_OS_WIN32 || ACC_OS_WIN64)
  |  | 7991|       |#if (ACC_CC_MSC && (_MSC_VER >= 1900))
  |  | 7992|       |#elif (ACC_CC_INTELC || ACC_CC_MSC)
  |  | 7993|       |ACC_EXTERN_C int __acc_cdecl __setargv(void);
  |  | 7994|       |ACC_EXTERN_C int __acc_cdecl _setargv(void);
  |  | 7995|       |ACC_EXTERN_C int __acc_cdecl _setargv(void) { return __setargv(); }
  |  | 7996|       |#endif
  |  | 7997|       |#endif
  |  | 7998|       |#if (ACC_OS_EMX)
  |  | 7999|       |#define __ACCLIB_HAVE_ACC_WILDARGV 1
  |  | 8000|       |ACCLIB_PUBLIC(void, acc_wildargv) (int* argc, char*** argv)
  |  | 8001|       |{
  |  | 8002|       |    if (argc && argv) {
  |  | 8003|       |        _response(argc, argv);
  |  | 8004|       |        _wildcard(argc, argv);
  |  | 8005|       |    }
  |  | 8006|       |}
  |  | 8007|       |#endif
  |  | 8008|       |#if (ACC_OS_CONSOLE_PSP) && defined(__PSPSDK_DEBUG__)
  |  | 8009|       |#define __ACCLIB_HAVE_ACC_WILDARGV 1
  |  | 8010|       |ACC_EXTERN_C int acc_psp_init_module(int*, char***, int);
  |  | 8011|       |ACCLIB_PUBLIC(void, acc_wildargv) (int* argc, char*** argv)
  |  | 8012|       |{
  |  | 8013|       |    acc_psp_init_module(argc, argv, -1);
  |  | 8014|       |}
  |  | 8015|       |#endif
  |  | 8016|       |#if !(__ACCLIB_HAVE_ACC_WILDARGV)
  |  | 8017|       |#define __ACCLIB_HAVE_ACC_WILDARGV 1
  |  | 8018|       |ACCLIB_PUBLIC(void, acc_wildargv) (int* argc, char*** argv)
  |  | 8019|       |{
  |  | 8020|       |#if 1 && (ACC_ARCH_I086PM)
  |  | 8021|       |    if (ACC_MM_AHSHIFT != 3) { exit(1); }
  |  | 8022|       |#elif 1 && (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC) && defined(__MINT__)
  |  | 8023|       |    __binmode(1);
  |  | 8024|       |    if (isatty(1)) __set_binmode(stdout, 0);
  |  | 8025|       |    if (isatty(2)) __set_binmode(stderr, 0);
  |  | 8026|       |#endif
  |  | 8027|       |    ACC_UNUSED(argc); ACC_UNUSED(argv);
  |  | 8028|       |}
  |  | 8029|       |#endif
  |  | 8030|       |#endif
  |  | 8031|       |
  |  | 8032|       |/* vim:set ts=4 sw=4 et: */
  ------------------
  877|  28.2k|#undef ACCCHK_ASSERT
  878|       |
  879|  28.2k|    static_assert(sizeof(char) == 1);
  880|  28.2k|    static_assert(sizeof(short) == 2);
  881|  28.2k|    static_assert(sizeof(int) == 4);
  882|  28.2k|    static_assert(sizeof(long) >= 4);
  883|  28.2k|    static_assert(sizeof(long long) >= 8);
  884|  28.2k|    static_assert(sizeof(void *) >= 4);
  885|  28.2k|    static_assert(sizeof(upx_off_t) >= 8);
  886|  28.2k|    static_assert(sizeof(upx_off_t) >= sizeof(long long));
  887|       |
  888|       |// __int64
  889|       |#if defined(_MSC_VER)
  890|       |    {
  891|       |        ASSERT_SAME_TYPE(long long, __int64);
  892|       |        ASSERT_SAME_TYPE(unsigned long long, unsigned __int64);
  893|       |        typedef __int64 my_int64;
  894|       |        typedef unsigned __int64 my_uint64;
  895|       |        ASSERT_SAME_TYPE(long long, my_int64);
  896|       |        ASSERT_SAME_TYPE(unsigned long long, my_uint64);
  897|       |    }
  898|       |#endif
  899|       |
  900|  28.2k|    static_assert(sizeof(BE16) == 2);
  901|  28.2k|    static_assert(sizeof(BE32) == 4);
  902|  28.2k|    static_assert(sizeof(BE64) == 8);
  903|  28.2k|    static_assert(sizeof(LE16) == 2);
  904|  28.2k|    static_assert(sizeof(LE32) == 4);
  905|  28.2k|    static_assert(sizeof(LE64) == 8);
  906|       |
  907|  28.2k|    COMPILE_TIME_ASSERT_ALIGNED1(BE16)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  908|  28.2k|    COMPILE_TIME_ASSERT_ALIGNED1(BE32)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  909|  28.2k|    COMPILE_TIME_ASSERT_ALIGNED1(BE64)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  910|  28.2k|    COMPILE_TIME_ASSERT_ALIGNED1(LE16)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  911|  28.2k|    COMPILE_TIME_ASSERT_ALIGNED1(LE32)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  912|  28.2k|    COMPILE_TIME_ASSERT_ALIGNED1(LE64)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  913|       |
  914|       |    // check that these types are not some multi-word macro
  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  916|  28.2k|    CHECK_TYPE(int8_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  917|  28.2k|    CHECK_TYPE(uint8_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  918|  28.2k|    CHECK_TYPE(int16_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  919|  28.2k|    CHECK_TYPE(uint16_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  920|  28.2k|    CHECK_TYPE(int32_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  921|  28.2k|    CHECK_TYPE(uint32_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  922|  28.2k|    CHECK_TYPE(int64_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  923|  28.2k|    CHECK_TYPE(uint64_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  924|  28.2k|    CHECK_TYPE(intmax_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  925|  28.2k|    CHECK_TYPE(uintmax_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  926|  28.2k|    CHECK_TYPE(ptrdiff_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  927|  28.2k|    CHECK_TYPE(size_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  928|  28.2k|    CHECK_TYPE(intptr_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  929|  28.2k|    CHECK_TYPE(uintptr_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  930|       |#if 0
  931|       |    CHECK_TYPE(acc_int8_t);
  932|       |    CHECK_TYPE(acc_uint8_t);
  933|       |    CHECK_TYPE(acc_int16_t);
  934|       |    CHECK_TYPE(acc_uint16_t);
  935|       |    CHECK_TYPE(acc_int32_t);
  936|       |    CHECK_TYPE(acc_uint32_t);
  937|       |    CHECK_TYPE(acc_int64_t);
  938|       |    CHECK_TYPE(acc_uint64_t);
  939|       |    CHECK_TYPE(acc_intptr_t);
  940|       |    CHECK_TYPE(acc_uintptr_t);
  941|       |#endif
  942|  28.2k|    CHECK_TYPE(upx_int8_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  943|  28.2k|    CHECK_TYPE(upx_uint8_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  944|  28.2k|    CHECK_TYPE(upx_int16_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  945|  28.2k|    CHECK_TYPE(upx_uint16_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  946|  28.2k|    CHECK_TYPE(upx_int32_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  947|  28.2k|    CHECK_TYPE(upx_uint32_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  948|  28.2k|    CHECK_TYPE(upx_int64_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  949|  28.2k|    CHECK_TYPE(upx_uint64_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  950|  28.2k|#if (__SIZEOF_INT128__ == 16)
  951|  28.2k|    CHECK_TYPE(upx_int128_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  952|  28.2k|    CHECK_TYPE(upx_uint128_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  953|  28.2k|#endif
  954|  28.2k|    CHECK_TYPE(upx_off_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  955|  28.2k|    CHECK_TYPE(upx_uptrdiff_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  956|  28.2k|    CHECK_TYPE(upx_ssize_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  957|  28.2k|    CHECK_TYPE(upx_ptraddr_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  958|  28.2k|    CHECK_TYPE(upx_uintptr_t);
  ------------------
  |  |  915|  28.2k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  959|  28.2k|#undef CHECK_TYPE
  960|       |
  961|  28.2k|    CheckIntegral<char>::check();
  962|  28.2k|    CheckIntegral<signed char>::check();
  963|  28.2k|    CheckIntegral<unsigned char>::check();
  964|  28.2k|    CheckIntegral<short>::check();
  965|  28.2k|    CheckIntegral<unsigned short>::check();
  966|  28.2k|    CheckIntegral<int>::check();
  967|  28.2k|    CheckIntegral<unsigned>::check();
  968|  28.2k|    CheckIntegral<long>::check();
  969|  28.2k|    CheckIntegral<unsigned long>::check();
  970|  28.2k|    CheckIntegral<long long>::check();
  971|  28.2k|    CheckIntegral<unsigned long long>::check();
  972|  28.2k|    CheckIntegral<intmax_t>::check();
  973|  28.2k|    CheckIntegral<uintmax_t>::check();
  974|  28.2k|    CheckIntegral<upx_int8_t>::check();
  975|  28.2k|    CheckIntegral<upx_uint8_t>::check();
  976|  28.2k|    CheckIntegral<upx_int16_t>::check();
  977|  28.2k|    CheckIntegral<upx_uint16_t>::check();
  978|  28.2k|    CheckIntegral<upx_int32_t>::check();
  979|  28.2k|    CheckIntegral<upx_uint32_t>::check();
  980|  28.2k|    CheckIntegral<upx_int64_t>::check();
  981|  28.2k|    CheckIntegral<upx_uint64_t>::check();
  982|  28.2k|#if (__SIZEOF_INT128__ == 16)
  983|       |#if defined(_CPP_VER) || defined(_WIN32) // int128 is not fully supported by MSVC libstdc++ yet
  984|       |#else
  985|  28.2k|    CheckIntegral<upx_int128_t>::check();
  986|  28.2k|    CheckIntegral<upx_uint128_t>::check();
  987|  28.2k|#endif
  988|  28.2k|#endif
  989|  28.2k|    CheckIntegral<upx_off_t>::check();
  990|  28.2k|    CheckIntegral<ptrdiff_t>::check();
  991|  28.2k|    CheckIntegral<upx_uptrdiff_t>::check();
  992|  28.2k|    CheckIntegral<upx_ssize_t>::check();
  993|  28.2k|    CheckIntegral<size_t>::check();
  994|  28.2k|    CheckIntegral<upx_ptraddr_t>::check();
  995|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  996|       |    static_assert(sizeof(upx_ptraddr_t) == 8);
  997|       |    static_assert(alignof(upx_ptraddr_t) == 8);
  998|       |    static_assert(sizeof(void *) == 16);
  999|       |    static_assert(alignof(void *) == 16);
 1000|       |    static_assert(sizeof(uintptr_t) == 16);
 1001|       |    static_assert(alignof(uintptr_t) == 16);
 1002|       |    // warning: binary expression on capability types 'unsigned __intcap' and 'unsigned __intcap'
 1003|       |    CheckIntegral<intptr_t>::check_core();
 1004|       |    CheckIntegral<uintptr_t>::check_core();
 1005|       |    CheckIntegral<upx_uintptr_t>::check_core();
 1006|       |#else
 1007|  28.2k|    CheckIntegral<intptr_t>::check();
 1008|  28.2k|    CheckIntegral<uintptr_t>::check();
 1009|  28.2k|    CheckIntegral<upx_uintptr_t>::check();
 1010|  28.2k|#endif
 1011|       |
 1012|  28.2k|    CheckSignedness<char, false>::check(); // -funsigned-char
 1013|  28.2k|    CheckSignedness<signed char, true>::check();
 1014|  28.2k|    CheckSignedness<unsigned char, false>::check();
 1015|  28.2k|    CheckSignedness<short, true>::check();
 1016|  28.2k|    CheckSignedness<unsigned short, false>::check();
 1017|  28.2k|    CheckSignedness<int, true>::check();
 1018|  28.2k|    CheckSignedness<unsigned, false>::check();
 1019|  28.2k|    CheckSignedness<long, true>::check();
 1020|  28.2k|    CheckSignedness<unsigned long, false>::check();
 1021|  28.2k|    CheckSignedness<long long, true>::check();
 1022|  28.2k|    CheckSignedness<unsigned long long, false>::check();
 1023|  28.2k|    CheckSignedness<intmax_t, true>::check();
 1024|  28.2k|    CheckSignedness<uintmax_t, false>::check();
 1025|  28.2k|    CheckSignedness<upx_int8_t, true>::check();
 1026|  28.2k|    CheckSignedness<upx_uint8_t, false>::check();
 1027|  28.2k|    CheckSignedness<upx_int16_t, true>::check();
 1028|  28.2k|    CheckSignedness<upx_uint16_t, false>::check();
 1029|  28.2k|    CheckSignedness<upx_int32_t, true>::check();
 1030|  28.2k|    CheckSignedness<upx_uint32_t, false>::check();
 1031|  28.2k|    CheckSignedness<upx_int64_t, true>::check();
 1032|  28.2k|    CheckSignedness<upx_uint64_t, false>::check();
 1033|  28.2k|#if (__SIZEOF_INT128__ == 16)
 1034|       |#if defined(_CPP_VER) || defined(_WIN32) // int128 is not fully supported by MSVC libstdc++ yet
 1035|       |#else
 1036|  28.2k|    CheckSignedness<upx_int128_t, true>::check();
 1037|  28.2k|    CheckSignedness<upx_uint128_t, false>::check();
 1038|  28.2k|#endif
 1039|  28.2k|#endif
 1040|  28.2k|    CheckSignedness<upx_off_t, true>::check();
 1041|  28.2k|    CheckSignedness<ptrdiff_t, true>::check();
 1042|  28.2k|    CheckSignedness<upx_uptrdiff_t, false>::check();
 1043|  28.2k|    CheckSignedness<upx_ssize_t, true>::check();
 1044|  28.2k|    CheckSignedness<size_t, false>::check();
 1045|  28.2k|    CheckSignedness<upx_ptraddr_t, false>::check();
 1046|  28.2k|    CheckSignedness<intptr_t, true>::check();
 1047|  28.2k|    CheckSignedness<uintptr_t, false>::check();
 1048|  28.2k|    CheckSignedness<upx_uintptr_t, false>::check();
 1049|       |
 1050|  28.2k|#define CHECK_TYPE_PAIR(A, B)                                                                      \
 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
 1053|  28.2k|    CHECK_TYPE_PAIR(signed char, unsigned char);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1054|  28.2k|    CHECK_TYPE_PAIR(short, unsigned short);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1055|  28.2k|    CHECK_TYPE_PAIR(int, unsigned);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1056|  28.2k|    CHECK_TYPE_PAIR(long, unsigned long);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1057|  28.2k|    CHECK_TYPE_PAIR(long long, unsigned long long);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1058|  28.2k|    CHECK_TYPE_PAIR(intmax_t, uintmax_t);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1059|  28.2k|    CHECK_TYPE_PAIR(upx_int8_t, upx_uint8_t);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1060|  28.2k|    CHECK_TYPE_PAIR(upx_int16_t, upx_uint16_t);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1061|  28.2k|    CHECK_TYPE_PAIR(upx_int32_t, upx_uint32_t);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1062|  28.2k|    CHECK_TYPE_PAIR(upx_int64_t, upx_uint64_t);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1063|  28.2k|#if (__SIZEOF_INT128__ == 16)
 1064|       |#if defined(_CPP_VER) || defined(_WIN32) // int128 is not fully supported by MSVC libstdc++ yet
 1065|       |#else
 1066|  28.2k|    CHECK_TYPE_PAIR(upx_int128_t, upx_uint128_t);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1067|  28.2k|#endif
 1068|  28.2k|#endif
 1069|  28.2k|    CHECK_TYPE_PAIR(ptrdiff_t, upx_uptrdiff_t);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1070|  28.2k|    CHECK_TYPE_PAIR(upx_ssize_t, size_t);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1071|  28.2k|    CHECK_TYPE_PAIR(upx_sptraddr_t, upx_ptraddr_t);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1072|  28.2k|    CHECK_TYPE_PAIR(intptr_t, uintptr_t);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1073|  28.2k|    CHECK_TYPE_PAIR(acc_intptr_t, acc_uintptr_t);
  ------------------
  |  | 1051|  28.2k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1052|  28.2k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1074|  28.2k|#undef CHECK_TYPE_PAIR
 1075|       |
 1076|  28.2k|    static_assert(sizeof(upx_charptr_unit_type) == 1);
 1077|  28.2k|    COMPILE_TIME_ASSERT_ALIGNED1(upx_charptr_unit_type)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1078|  28.2k|    static_assert(sizeof(*((charptr) nullptr)) == 1);
 1079|       |
 1080|       |    // check UPX_VERSION_xxx
 1081|  28.2k|    {
 1082|  28.2k|        using upx::compile_time::mem_eq;
 1083|  28.2k|        using upx::compile_time::string_len;
 1084|  28.2k|        static_assert(string_len(UPX_VERSION_STRING4) == 4);
 1085|  28.2k|        static_assert(string_len(UPX_VERSION_YEAR) == 4);
 1086|  28.2k|        static_assert(string_len(UPX_VERSION_DATE_ISO) == 10);
 1087|  28.2k|        static_assert(string_len(UPX_VERSION_DATE) == 12 || string_len(UPX_VERSION_DATE) == 13);
 1088|  28.2k|        static_assert(mem_eq(UPX_VERSION_STRING4, UPX_VERSION_STRING, 3));
 1089|  28.2k|        static_assert(mem_eq(UPX_VERSION_YEAR, UPX_VERSION_DATE_ISO, 4));
 1090|  28.2k|        static_assert(mem_eq(UPX_VERSION_YEAR, &UPX_VERSION_DATE[sizeof(UPX_VERSION_DATE) - 5], 4));
 1091|  28.2k|        char buf[64];
 1092|  28.2k|        constexpr long long v = UPX_VERSION_HEX;
  ------------------
  |  |    2|  28.2k|#define UPX_VERSION_HEX      0x050102 /* 05.01.02 */
  ------------------
 1093|  28.2k|        upx_safe_snprintf_noexcept(buf, sizeof(buf), "%lld.%lld.%lld", (v >> 16), (v >> 8) & 255,
 1094|  28.2k|                                   v & 255);
 1095|  28.2k|        assert_noexcept(strcmp(buf, UPX_VERSION_STRING) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1096|      0|        upx_safe_snprintf_noexcept(buf, sizeof(buf), "%lld.%lld%lld", (v >> 16), (v >> 8) & 255,
 1097|  28.2k|                                   v & 255);
 1098|  28.2k|        assert_noexcept(strcmp(buf, UPX_VERSION_STRING4) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1099|  28.2k|    }
 1100|       |
 1101|  28.2k|    if (gitrev[0]) {
  ------------------
  |  Branch (1101:9): [True: 28.2k, False: 0]
  ------------------
 1102|  28.2k|        size_t revlen = strlen(gitrev);
  ------------------
  |  |   70|  28.2k|#define strlen upx_safe_strlen
  ------------------
 1103|  28.2k|        if (strncmp(gitrev, "ERROR", 5) == 0) {
  ------------------
  |  Branch (1103:13): [True: 0, False: 28.2k]
  ------------------
 1104|      0|            assert_noexcept(revlen == 5 || revlen == 6);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1105|  28.2k|        } else {
 1106|  28.2k|            assert_noexcept(revlen == 12 || revlen == 13);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 28.2k]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1107|  28.2k|        }
 1108|  28.2k|        if (revlen == 6 || revlen == 13) {
  ------------------
  |  Branch (1108:13): [True: 0, False: 28.2k]
  |  Branch (1108:28): [True: 28.2k, False: 0]
  ------------------
 1109|  28.2k|            assert_noexcept(gitrev[revlen - 1] == '+');
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1110|  28.2k|        }
 1111|  28.2k|    }
 1112|  28.2k|    assert_noexcept(UPX_RSIZE_MAX_MEM == 805306368);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1113|       |
 1114|  28.2k|#if DEBUG || 1
 1115|  28.2k|    assert_noexcept(TestBELE<LE16>::test());
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1116|  28.2k|    assert_noexcept(TestBELE<LE32>::test());
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1117|  28.2k|    assert_noexcept(TestBELE<LE64>::test());
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1118|  28.2k|    assert_noexcept(TestBELE<BE16>::test());
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1119|  28.2k|    assert_noexcept(TestBELE<BE32>::test());
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1120|  28.2k|    assert_noexcept(TestBELE<BE64>::test());
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1121|      0|    {
 1122|  28.2k|        alignas(16) static constexpr const byte dd[32] = {
 1123|  28.2k|            0, 0, 0, 0,    0,    0,    0,    0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0,
 1124|  28.2k|            0, 0, 0, 0x7f, 0x7e, 0x7d, 0x7c, 0x7b, 0x7a, 0x79, 0x78, 0,    0,    0,    0,    0};
 1125|  28.2k|#if !defined(upx_fake_alignas_16)
 1126|  28.2k|        assert_noexcept(ptr_is_aligned<16>(dd));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1127|  28.2k|        assert_noexcept(ptr_is_aligned(dd, 16));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1128|      0|#endif
 1129|      0|        constexpr const byte *d = dd + 7;
 1130|  28.2k|        static_assert(upx::compile_time::get_be16(d) == 0xfffe);
 1131|  28.2k|        static_assert(upx::compile_time::get_be24(d) == 0xfffefd);
 1132|  28.2k|        static_assert(upx::compile_time::get_be32(d) == 0xfffefdfc);
 1133|  28.2k|        static_assert(upx::compile_time::get_be64(d) == 0xfffefdfcfbfaf9f8ULL);
 1134|  28.2k|        static_assert(upx::compile_time::get_le16(d) == 0xfeff);
 1135|  28.2k|        static_assert(upx::compile_time::get_le24(d) == 0xfdfeff);
 1136|  28.2k|        static_assert(upx::compile_time::get_le32(d) == 0xfcfdfeff);
 1137|  28.2k|        static_assert(upx::compile_time::get_le64(d) == 0xf8f9fafbfcfdfeffULL);
 1138|  28.2k|        assert_noexcept(upx_adler32(d, 4) == 0x09f003f7);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1139|  28.2k|        assert_noexcept(upx_adler32(d, 4, 0) == 0x09ec03f6);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1140|  28.2k|        assert_noexcept(upx_adler32(d, 4, 1) == 0x09f003f7);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1141|      0|        const N_BELE_RTP::AbstractPolicy *bele;
 1142|  28.2k|        bele = &N_BELE_RTP::be_policy;
 1143|  28.2k|        assert_noexcept(get_be16(d) == 0xfffe);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1144|  28.2k|        assert_noexcept(bele->get16(d) == 0xfffe);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1145|  28.2k|        assert_noexcept(get_be16_signed(d) == -2);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1146|  28.2k|        assert_noexcept(bele->get16_signed(d) == -2);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1147|  28.2k|        assert_noexcept(get_be24(d) == 0xfffefd);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1148|  28.2k|        assert_noexcept(bele->get24(d) == 0xfffefd);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1149|  28.2k|        assert_noexcept(get_be24_signed(d) == -259);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1150|  28.2k|        assert_noexcept(bele->get24_signed(d) == -259);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1151|  28.2k|        assert_noexcept(get_be32(d) == 0xfffefdfc);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1152|  28.2k|        assert_noexcept(bele->get32(d) == 0xfffefdfc);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1153|  28.2k|        assert_noexcept(get_be32_signed(d) == -66052);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1154|  28.2k|        assert_noexcept(bele->get32_signed(d) == -66052);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1155|  28.2k|        assert_noexcept(get_be64(d) == 0xfffefdfcfbfaf9f8ULL);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1156|  28.2k|        assert_noexcept(bele->get64(d) == 0xfffefdfcfbfaf9f8ULL);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1157|  28.2k|        assert_noexcept(get_be64_signed(d) == -283686952306184LL);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1158|  28.2k|        assert_noexcept(bele->get64_signed(d) == -283686952306184LL);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1159|      0|        bele = &N_BELE_RTP::le_policy;
 1160|  28.2k|        assert_noexcept(get_le16(d) == 0xfeff);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1161|  28.2k|        assert_noexcept(bele->get16(d) == 0xfeff);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1162|  28.2k|        assert_noexcept(get_le16_signed(d) == -257);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1163|  28.2k|        assert_noexcept(bele->get16_signed(d) == -257);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1164|  28.2k|        assert_noexcept(get_le24(d) == 0xfdfeff);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1165|  28.2k|        assert_noexcept(bele->get24(d) == 0xfdfeff);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1166|  28.2k|        assert_noexcept(get_le24_signed(d) == -131329);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1167|  28.2k|        assert_noexcept(bele->get24_signed(d) == -131329);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1168|  28.2k|        assert_noexcept(get_le32(d) == 0xfcfdfeff);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1169|  28.2k|        assert_noexcept(bele->get32(d) == 0xfcfdfeff);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1170|  28.2k|        assert_noexcept(get_le32_signed(d) == -50462977);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1171|  28.2k|        assert_noexcept(bele->get32_signed(d) == -50462977);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1172|  28.2k|        assert_noexcept(get_le64(d) == 0xf8f9fafbfcfdfeffULL);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1173|  28.2k|        assert_noexcept(bele->get64(d) == 0xf8f9fafbfcfdfeffULL);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1174|  28.2k|        assert_noexcept(get_le64_signed(d) == -506097522914230529LL);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1175|  28.2k|        assert_noexcept(bele->get64_signed(d) == -506097522914230529LL);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1176|      0|        static_assert(get_be24(d) == 0xfffefd);
 1177|  28.2k|        static_assert(get_le24(d) == 0xfdfeff);
 1178|  28.2k|#if defined(upx_is_constant_evaluated)
 1179|  28.2k|        static_assert(get_be24_signed(d) == -259);
 1180|  28.2k|        static_assert(get_le24_signed(d) == -131329);
 1181|  28.2k|        static_assert(get_be16(d) == 0xfffe);
 1182|  28.2k|        static_assert(get_be16_signed(d) == -2);
 1183|  28.2k|        static_assert(get_be32(d) == 0xfffefdfc);
 1184|  28.2k|        static_assert(get_be32_signed(d) == -66052);
 1185|  28.2k|        static_assert(get_be64(d) == 0xfffefdfcfbfaf9f8ULL);
 1186|  28.2k|        static_assert(get_be64_signed(d) == -283686952306184LL);
 1187|  28.2k|        static_assert(get_le16(d) == 0xfeff);
 1188|  28.2k|        static_assert(get_le16_signed(d) == -257);
 1189|  28.2k|        static_assert(get_le32(d) == 0xfcfdfeff);
 1190|  28.2k|        static_assert(get_le32_signed(d) == -50462977);
 1191|  28.2k|        static_assert(get_le64(d) == 0xf8f9fafbfcfdfeffULL);
 1192|  28.2k|        static_assert(get_le64_signed(d) == -506097522914230529LL);
 1193|  28.2k|#endif
 1194|  28.2k|        assert_noexcept(find_be16(d, 2, 0xfffe) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1195|  28.2k|        assert_noexcept(find_le16(d, 2, 0xfeff) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1196|  28.2k|        assert_noexcept(find_be32(d, 4, 0xfffefdfc) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1197|  28.2k|        assert_noexcept(find_le32(d, 4, 0xfcfdfeff) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1198|      0|        constexpr const byte *e = d + 12;
 1199|  28.2k|        assert_noexcept(get_be16_signed(e) == 32638);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1200|  28.2k|        assert_noexcept(get_be24_signed(e) == 8355453);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1201|  28.2k|        assert_noexcept(get_be32_signed(e) == 2138996092);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1202|  28.2k|        assert_noexcept(get_be64_signed(e) == 9186918263483431288LL);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1203|      0|#if defined(upx_is_constant_evaluated)
 1204|      0|        static_assert(get_be16_signed(e) == 32638);
 1205|  28.2k|        static_assert(get_be24_signed(e) == 8355453);
 1206|  28.2k|        static_assert(get_be32_signed(e) == 2138996092);
 1207|  28.2k|        static_assert(get_be64_signed(e) == 9186918263483431288LL);
 1208|  28.2k|#endif
 1209|  28.2k|    }
 1210|      0|#if defined(upx_is_constant_evaluated)
 1211|      0|    {
 1212|  28.2k|        constexpr upx_uint16_t v16 = 0x0201;
 1213|  28.2k|        constexpr upx_uint32_t v32 = 0x04030201;
 1214|  28.2k|        constexpr upx_uint64_t v64 = 0x0807060504030201ull;
 1215|  28.2k|        constexpr BE16 be16 = BE16::make(v16);
 1216|  28.2k|        constexpr BE32 be32 = BE32::make(v32);
 1217|  28.2k|        constexpr BE64 be64 = BE64::make(v64);
 1218|  28.2k|        constexpr LE16 le16 = LE16::make(v16);
 1219|  28.2k|        constexpr LE32 le32 = LE32::make(v32);
 1220|  28.2k|        constexpr LE64 le64 = LE64::make(v64);
 1221|  28.2k|        using upx::compile_time::mem_eq;
 1222|  28.2k|        static_assert(mem_eq(be16.d, "\x02\x01", 2));
 1223|  28.2k|        static_assert(mem_eq(be32.d, "\x04\x03\x02\x01", 4));
 1224|  28.2k|        static_assert(mem_eq(be64.d, "\x08\x07\x06\x05\x04\x03\x02\x01", 8));
 1225|  28.2k|        static_assert(mem_eq(le16.d, "\x01\x02", 2));
 1226|  28.2k|        static_assert(mem_eq(le32.d, "\x01\x02\x03\x04", 4));
 1227|  28.2k|        static_assert(mem_eq(le64.d, "\x01\x02\x03\x04\x05\x06\x07\x08", 8));
 1228|  28.2k|        constexpr NE16 ne16 = NE16::make(v16);
 1229|  28.2k|        constexpr NE32 ne32 = NE32::make(v32);
 1230|  28.2k|        constexpr NE64 ne64 = NE64::make(v64);
 1231|  28.2k|        assert_noexcept(memcmp(&v16, ne16.d, 2) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1232|  28.2k|        assert_noexcept(memcmp(&v32, ne32.d, 4) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1233|  28.2k|        assert_noexcept(memcmp(&v64, ne64.d, 8) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1234|  28.2k|    }
 1235|      0|#endif
 1236|       |#if DEBUG >= 1
 1237|       |    {
 1238|       |        for (int i = -256; i < 256; i++) {
 1239|       |            {
 1240|       |                const unsigned u = i;
 1241|       |                assert_noexcept(sign_extend32(u, 1) == ((i & 1) ? -1 : 0));
 1242|       |                assert_noexcept(sign_extend32(u, 2) == ((i & 2) ? -2 + (i & 1) : (i & 1)));
 1243|       |                assert_noexcept(sign_extend32(u, 3) == ((i & 4) ? -4 + (i & 3) : (i & 3)));
 1244|       |                assert_noexcept(sign_extend32(u, 4) == ((i & 8) ? -8 + (i & 7) : (i & 7)));
 1245|       |                assert_noexcept(sign_extend32(u, 5) == ((i & 16) ? -16 + (i & 15) : (i & 15)));
 1246|       |                assert_noexcept(sign_extend32(u, 6) == ((i & 32) ? -32 + (i & 31) : (i & 31)));
 1247|       |                assert_noexcept(sign_extend32(u, 7) == ((i & 64) ? -64 + (i & 63) : (i & 63)));
 1248|       |                assert_noexcept(sign_extend32(u, 8) == ((i & 128) ? -128 + (i & 127) : (i & 127)));
 1249|       |                assert_noexcept(sign_extend32(u, 9) == i);
 1250|       |                assert_noexcept(sign_extend32(u, 32) == i);
 1251|       |                assert_noexcept(sign_extend32(0u - u, 32) == -i);
 1252|       |            }
 1253|       |            {
 1254|       |                const upx_uint64_t u = i;
 1255|       |                assert_noexcept(sign_extend64(u, 1) == ((i & 1) ? -1 : 0));
 1256|       |                assert_noexcept(sign_extend64(u, 2) == ((i & 2) ? -2 + (i & 1) : (i & 1)));
 1257|       |                assert_noexcept(sign_extend64(u, 3) == ((i & 4) ? -4 + (i & 3) : (i & 3)));
 1258|       |                assert_noexcept(sign_extend64(u, 4) == ((i & 8) ? -8 + (i & 7) : (i & 7)));
 1259|       |                assert_noexcept(sign_extend64(u, 5) == ((i & 16) ? -16 + (i & 15) : (i & 15)));
 1260|       |                assert_noexcept(sign_extend64(u, 6) == ((i & 32) ? -32 + (i & 31) : (i & 31)));
 1261|       |                assert_noexcept(sign_extend64(u, 7) == ((i & 64) ? -64 + (i & 63) : (i & 63)));
 1262|       |                assert_noexcept(sign_extend64(u, 8) == ((i & 128) ? -128 + (i & 127) : (i & 127)));
 1263|       |                assert_noexcept(sign_extend64(u, 9) == i);
 1264|       |                assert_noexcept(sign_extend64(u, 32) == i);
 1265|       |                assert_noexcept(sign_extend64(upx_uint64_t(0) - u, 32) == -i);
 1266|       |                assert_noexcept(sign_extend64(u, 64) == i);
 1267|       |                assert_noexcept(sign_extend64(upx_uint64_t(0) - u, 64) == -i);
 1268|       |            }
 1269|       |        }
 1270|       |    }
 1271|       |#endif
 1272|      0|    {
 1273|  28.2k|        unsigned dd;
 1274|  28.2k|        void *const d = &dd;
 1275|  28.2k|        dd = ne32_to_le32(0xf7f6f5f4);
  ------------------
  |  |  293|  28.2k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
 1276|  28.2k|        assert_noexcept(get_le26(d) == 0x03f6f5f4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1277|      0|        set_le26(d, 0);
 1278|  28.2k|        assert_noexcept(get_le26(d) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1279|  28.2k|        assert_noexcept(dd == ne32_to_le32(0xf4000000));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1280|      0|        set_le26(d, 0xff020304);
 1281|  28.2k|        assert_noexcept(get_le26(d) == 0x03020304);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1282|  28.2k|        assert_noexcept(dd == ne32_to_le32(0xf7020304));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1283|  28.2k|    }
 1284|      0|    {
 1285|  28.2k|        upx_uint16_t a = 0;
 1286|  28.2k|        upx_uint32_t b = 0;
 1287|  28.2k|        upx_uint64_t c = 0;
 1288|  28.2k|        set_ne16(&a, 0x04030201); // ignore upper bits
 1289|  28.2k|        set_ne32(&b, 0x04030201);
 1290|  28.2k|        set_ne64(&c, 0x0807060504030201ull);
 1291|  28.2k|        assert_noexcept(a == 0x0201);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1292|  28.2k|        assert_noexcept(b == 0x04030201);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1293|  28.2k|        assert_noexcept(c == 0x0807060504030201ull);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1294|  28.2k|        assert_noexcept(get_ne16(&a) == 0x0201);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1295|  28.2k|        assert_noexcept(get_ne32(&b) == 0x04030201);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1296|  28.2k|        assert_noexcept(get_ne64(&c) == 0x0807060504030201ull);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1297|  28.2k|    }
 1298|      0|#endif // DEBUG
 1299|      0|    union {
 1300|  28.2k|        short v_short;
 1301|  28.2k|        int v_int;
 1302|  28.2k|        long v_long;
 1303|  28.2k|        long long v_llong;
 1304|  28.2k|        BE16 b16;
 1305|  28.2k|        BE32 b32;
 1306|  28.2k|        BE64 b64;
 1307|  28.2k|        LE16 l16;
 1308|  28.2k|        LE32 l32;
 1309|  28.2k|        LE64 l64;
 1310|  28.2k|    } u;
 1311|  28.2k|    assert_noexcept(testNoAliasing(&u.v_short, &u.b32));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1312|  28.2k|    assert_noexcept(testNoAliasing(&u.v_short, &u.l32));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1313|  28.2k|    assert_noexcept(testNoAliasing(&u.v_int, &u.b64));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1314|  28.2k|    assert_noexcept(testNoAliasing(&u.v_int, &u.l64));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1315|       |    // check working -fno-strict-aliasing
 1316|  28.2k|    assert_noexcept(testNoAliasing(&u.v_short, &u.v_int));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1317|  28.2k|    assert_noexcept(testNoAliasing(&u.v_int, &u.v_long));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1318|  28.2k|    assert_noexcept(testNoAliasing(&u.v_int, &u.v_llong));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1319|  28.2k|    assert_noexcept(testNoAliasing(&u.v_long, &u.v_llong));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1320|       |
 1321|       |#if 1 && (ACC_CC_MSC) && (defined(_M_ARM64) || defined(_M_ARM64EC))
 1322|       |    // @COMPILER_BUG @MSVC_BUG
 1323|       |#else
 1324|  28.2k|    assert_noexcept(TestIntegerWrap<unsigned>::inc_gt(0));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1325|  28.2k|    assert_noexcept(!TestIntegerWrap<unsigned>::inc_gt(UINT_MAX));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1326|  28.2k|    assert_noexcept(TestIntegerWrap<unsigned>::dec_lt(1));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1327|  28.2k|    assert_noexcept(!TestIntegerWrap<unsigned>::dec_lt(0));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1328|  28.2k|    assert_noexcept(TestIntegerWrap<unsigned>::neg_eq(0));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1329|  28.2k|    assert_noexcept(!TestIntegerWrap<unsigned>::neg_eq(1));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1330|  28.2k|    assert_noexcept(!TestIntegerWrap<unsigned>::neg_eq(UINT_MAX));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1331|       |    // check working -fno-strict-overflow
 1332|  28.2k|    assert_noexcept(TestIntegerWrap<int>::inc_gt(0));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1333|  28.2k|    assert_noexcept(!TestIntegerWrap<int>::inc_gt(INT_MAX));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1334|  28.2k|    assert_noexcept(TestIntegerWrap<int>::dec_lt(0));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1335|  28.2k|    assert_noexcept(!TestIntegerWrap<int>::dec_lt(INT_MIN));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1336|  28.2k|    assert_noexcept(TestIntegerWrap<int>::neg_eq(0));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1337|  28.2k|    assert_noexcept(!TestIntegerWrap<int>::neg_eq(1));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1338|  28.2k|    assert_noexcept(!TestIntegerWrap<int>::neg_eq(INT_MAX));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1339|  28.2k|    assert_noexcept(TestIntegerWrap<int>::neg_eq(INT_MIN)); // special case
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1340|  28.2k|#endif
 1341|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_126check_basic_floating_pointEv:
  824|  28.2k|static noinline void check_basic_floating_point() noexcept {
  825|  28.2k|    assert_noexcept(i64_f32_add_div(1000000, 1000000) == 2.0f);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  826|  28.2k|    assert_noexcept(u64_f32_add_div(1000000, 1000000) == 2.0f);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  827|  28.2k|    assert_noexcept(i64_f32_sub_div(3000000, 1000000) == 2.0f);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  828|  28.2k|    assert_noexcept(u64_f32_sub_div(3000000, 1000000) == 2.0f);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  829|  28.2k|    assert_noexcept(i64_f64_add_div(1000000, 1000000) == 2.0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  830|  28.2k|    assert_noexcept(u64_f64_add_div(1000000, 1000000) == 2.0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  831|  28.2k|    assert_noexcept(i64_f64_sub_div(3000000, 1000000) == 2.0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  832|  28.2k|    assert_noexcept(u64_f64_sub_div(3000000, 1000000) == 2.0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  833|      0|    TestFloat<upx_int32_t, float>::test();
  834|  28.2k|    TestFloat<upx_uint32_t, float>::test();
  835|  28.2k|    TestFloat<upx_int64_t, float>::test();
  836|  28.2k|    TestFloat<upx_uint64_t, float>::test();
  837|  28.2k|    TestFloat<upx_int32_t, double>::test();
  838|  28.2k|    TestFloat<upx_uint32_t, double>::test();
  839|  28.2k|    TestFloat<upx_int64_t, double>::test();
  840|  28.2k|    TestFloat<upx_uint64_t, double>::test();
  841|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f32_add_divExx:
  769|  28.2k|static noinline float i64_f32_add_div(upx_int64_t a, upx_int64_t b) noexcept {
  770|  28.2k|    return (a + b) / 1000000.0f;
  771|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f32_add_divEyy:
  772|  28.2k|static noinline float u64_f32_add_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  773|  28.2k|    return (a + b) / 1000000.0f;
  774|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f32_sub_divExx:
  775|  28.2k|static noinline float i64_f32_sub_div(upx_int64_t a, upx_int64_t b) noexcept {
  776|  28.2k|    return (a - b) / 1000000.0f;
  777|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f32_sub_divEyy:
  778|  28.2k|static noinline float u64_f32_sub_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  779|  28.2k|    return (a - b) / 1000000.0f;
  780|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f64_add_divExx:
  782|  28.2k|static noinline double i64_f64_add_div(upx_int64_t a, upx_int64_t b) noexcept {
  783|  28.2k|    return (a + b) / 1000000.0;
  784|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f64_add_divEyy:
  785|  28.2k|static noinline double u64_f64_add_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  786|  28.2k|    return (a + b) / 1000000.0;
  787|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f64_sub_divExx:
  788|  28.2k|static noinline double i64_f64_sub_div(upx_int64_t a, upx_int64_t b) noexcept {
  789|  28.2k|    return (a - b) / 1000000.0;
  790|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f64_sub_divEyy:
  791|  28.2k|static noinline double u64_f64_sub_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  792|  28.2k|    return (a - b) / 1000000.0;
  793|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE4testEv:
  803|  28.2k|    static noinline void test() noexcept {
  804|  28.2k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  805|  28.2k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  806|  28.2k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  807|  28.2k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  808|  28.2k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  809|       |        // extra debugging; floating point edge cases cause portability problems in practice
  810|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  811|  28.2k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (811:13): [True: 0, False: 28.2k]
  ------------------
  812|       |#if defined(__FAST_MATH__)
  813|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  814|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  815|       |#else
  816|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  817|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  818|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  819|      0|#endif
  820|      0|        }
  821|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE3divEif:
  798|  28.2k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE7add_divEiif:
  799|  28.2k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE9add_div_xEii:
  801|  28.2k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE7sub_divEiif:
  800|  28.2k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE9sub_div_xEii:
  802|  28.2k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE4testEv:
  803|  28.2k|    static noinline void test() noexcept {
  804|  28.2k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  805|  28.2k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  806|  28.2k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  807|  28.2k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  808|  28.2k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  809|       |        // extra debugging; floating point edge cases cause portability problems in practice
  810|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  811|  28.2k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (811:13): [True: 0, False: 28.2k]
  ------------------
  812|       |#if defined(__FAST_MATH__)
  813|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  814|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  815|       |#else
  816|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  817|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  818|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  819|      0|#endif
  820|      0|        }
  821|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE3divEjf:
  798|  28.2k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE7add_divEjjf:
  799|  28.2k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE9add_div_xEjj:
  801|  28.2k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE7sub_divEjjf:
  800|  28.2k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE9sub_div_xEjj:
  802|  28.2k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE4testEv:
  803|  28.2k|    static noinline void test() noexcept {
  804|  28.2k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  805|  28.2k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  806|  28.2k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  807|  28.2k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  808|  28.2k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  809|       |        // extra debugging; floating point edge cases cause portability problems in practice
  810|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  811|  28.2k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (811:13): [True: 0, False: 28.2k]
  ------------------
  812|       |#if defined(__FAST_MATH__)
  813|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  814|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  815|       |#else
  816|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  817|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  818|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  819|      0|#endif
  820|      0|        }
  821|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE3divExf:
  798|  28.2k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE7add_divExxf:
  799|  28.2k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE9add_div_xExx:
  801|  28.2k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE7sub_divExxf:
  800|  28.2k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE9sub_div_xExx:
  802|  28.2k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE4testEv:
  803|  28.2k|    static noinline void test() noexcept {
  804|  28.2k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  805|  28.2k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  806|  28.2k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  807|  28.2k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  808|  28.2k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  809|       |        // extra debugging; floating point edge cases cause portability problems in practice
  810|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  811|  28.2k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (811:13): [True: 0, False: 28.2k]
  ------------------
  812|       |#if defined(__FAST_MATH__)
  813|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  814|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  815|       |#else
  816|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  817|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  818|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  819|      0|#endif
  820|      0|        }
  821|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE3divEyf:
  798|  28.2k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE7add_divEyyf:
  799|  28.2k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE9add_div_xEyy:
  801|  28.2k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE7sub_divEyyf:
  800|  28.2k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE9sub_div_xEyy:
  802|  28.2k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE4testEv:
  803|  28.2k|    static noinline void test() noexcept {
  804|  28.2k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  805|  28.2k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  806|  28.2k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  807|  28.2k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  808|  28.2k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  809|       |        // extra debugging; floating point edge cases cause portability problems in practice
  810|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  811|  28.2k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (811:13): [True: 0, False: 28.2k]
  ------------------
  812|       |#if defined(__FAST_MATH__)
  813|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  814|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  815|       |#else
  816|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  817|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  818|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  819|      0|#endif
  820|      0|        }
  821|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE3divEid:
  798|  28.2k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE7add_divEiid:
  799|  28.2k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE9add_div_xEii:
  801|  28.2k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE7sub_divEiid:
  800|  28.2k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE9sub_div_xEii:
  802|  28.2k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE4testEv:
  803|  28.2k|    static noinline void test() noexcept {
  804|  28.2k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  805|  28.2k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  806|  28.2k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  807|  28.2k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  808|  28.2k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  809|       |        // extra debugging; floating point edge cases cause portability problems in practice
  810|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  811|  28.2k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (811:13): [True: 0, False: 28.2k]
  ------------------
  812|       |#if defined(__FAST_MATH__)
  813|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  814|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  815|       |#else
  816|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  817|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  818|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  819|      0|#endif
  820|      0|        }
  821|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE3divEjd:
  798|  28.2k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE7add_divEjjd:
  799|  28.2k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE9add_div_xEjj:
  801|  28.2k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE7sub_divEjjd:
  800|  28.2k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE9sub_div_xEjj:
  802|  28.2k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE4testEv:
  803|  28.2k|    static noinline void test() noexcept {
  804|  28.2k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  805|  28.2k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  806|  28.2k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  807|  28.2k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  808|  28.2k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  809|       |        // extra debugging; floating point edge cases cause portability problems in practice
  810|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  811|  28.2k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (811:13): [True: 0, False: 28.2k]
  ------------------
  812|       |#if defined(__FAST_MATH__)
  813|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  814|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  815|       |#else
  816|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  817|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  818|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  819|      0|#endif
  820|      0|        }
  821|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE3divExd:
  798|  28.2k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE7add_divExxd:
  799|  28.2k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE9add_div_xExx:
  801|  28.2k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE7sub_divExxd:
  800|  28.2k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE9sub_div_xExx:
  802|  28.2k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE4testEv:
  803|  28.2k|    static noinline void test() noexcept {
  804|  28.2k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  805|  28.2k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  806|  28.2k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  807|  28.2k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  808|  28.2k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  809|       |        // extra debugging; floating point edge cases cause portability problems in practice
  810|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  811|  28.2k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (811:13): [True: 0, False: 28.2k]
  ------------------
  812|       |#if defined(__FAST_MATH__)
  813|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  814|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  815|       |#else
  816|      0|            assert_noexcept(std::isnan(div(0, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  817|      0|            assert_noexcept(std::isinf(div(1, Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  818|      0|            assert_noexcept(std::isinf(div(Int(-1), Float(0))));
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  819|      0|#endif
  820|      0|        }
  821|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE3divEyd:
  798|  28.2k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE7add_divEyyd:
  799|  28.2k|    static noinline Float add_div(Int a, Int b, Float f) noexcept { return Float(a + b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE9add_div_xEyy:
  801|  28.2k|    static noinline Float add_div_x(Int a, Int b) noexcept { return Float(a + b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE7sub_divEyyd:
  800|  28.2k|    static noinline Float sub_div(Int a, Int b, Float f) noexcept { return Float(a - b) / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE9sub_div_xEyy:
  802|  28.2k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_134check_basic_cxx_exception_handlingEPFviE:
  751|  28.2k|static noinline void check_basic_cxx_exception_handling(void (*func)(int)) noexcept {
  752|  28.2k|    bool cxx_exception_handling_works = false;
  753|  28.2k|    int x = 1;
  754|  28.2k|    try {
  755|  28.2k|        TestDestructor d(&x, 3);
  756|  28.2k|        check_exceptions_2(func, &x);
  757|  28.2k|    } catch (const size_t &e) {
  758|  28.2k|        if (e == 1 && x == 23)
  ------------------
  |  Branch (758:13): [True: 28.2k, False: 0]
  |  Branch (758:23): [True: 28.2k, False: 0]
  ------------------
  759|  28.2k|            cxx_exception_handling_works = true;
  760|  28.2k|    } catch (...) {
  761|      0|    }
  762|  28.2k|    assert_noexcept(cxx_exception_handling_works);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  763|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_114TestDestructorC2EPii:
  733|  56.5k|    explicit TestDestructor(int *pp, int vv) noexcept : p(pp), v(vv) {}
dt_check.cpp:_ZN12_GLOBAL__N_118check_exceptions_2EPFviEPi:
  746|  28.2k|static noinline void check_exceptions_2(void (*func)(int), int *x) may_throw {
  747|  28.2k|    TestDestructor d(x, *x);
  748|  28.2k|    func(*x);
  749|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_114TestDestructorD2Ev:
  734|  56.5k|    virtual noinline ~TestDestructor() noexcept { *p = (*p << 2) + v; }
dt_check.cpp:_ZN12_GLOBAL__N_114throwSomeValueEi:
  739|  28.2k|static noinline void throwSomeValue(int x) may_throw {
  740|  28.2k|    if (x < 0)
  ------------------
  |  Branch (740:9): [True: 0, False: 28.2k]
  ------------------
  741|      0|        throw int(x);
  742|  28.2k|    else
  743|  28.2k|        throw size_t(x);
  744|  28.2k|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
 1347|  14.1k|TEST_CASE("upx_is_constant_evaluated") {
 1348|  14.1k|#if defined(upx_is_constant_evaluated)
 1349|  14.1k|    CHECK(true);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1350|  14.1k|#endif
 1351|  14.1k|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
 1353|  14.1k|TEST_CASE("assert_noexcept") {
 1354|       |    // just to make sure that our own assert() macros do not trigger any compiler warnings
 1355|  14.1k|    byte dummy = 0;
 1356|  14.1k|    byte *ptr1 = &dummy;
 1357|  14.1k|    const byte *const ptr2 = &dummy;
 1358|  14.1k|    void *ptr3 = nullptr;
 1359|  14.1k|    assert(true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1360|  14.1k|    assert(1);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1361|  14.1k|    assert(ptr1);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1362|  14.1k|    assert(ptr2);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1363|  14.1k|    assert(!ptr3);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1364|  14.1k|    assert_noexcept(true);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1365|  14.1k|    assert_noexcept(1);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1366|  14.1k|    assert_noexcept(ptr1);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1367|  14.1k|    assert_noexcept(ptr2);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1368|  14.1k|    assert_noexcept(!ptr3);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1369|  14.1k|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
 1371|  14.1k|TEST_CASE("acc_vget") {
 1372|  14.1k|    CHECK_EQ(acc_vget_int(0, 0), 0);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1373|  14.1k|    CHECK_EQ(acc_vget_long(1, -1), 1);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1374|  14.1k|    CHECK_EQ(acc_vget_acc_int64l_t(2, 1), 2);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1375|  14.1k|    CHECK_EQ(acc_vget_acc_hvoid_p(nullptr, 0), nullptr);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1376|  14.1k|    if (acc_vget_int(1, 0) > 0)
  ------------------
  |  Branch (1376:9): [True: 14.1k, False: 0]
  ------------------
 1377|  14.1k|        return;
 1378|      0|    assert_noexcept(false);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1379|      0|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_8v:
 1381|  14.1k|TEST_CASE("ptr_invalidate_and_poison") {
 1382|  14.1k|    int *ip = nullptr; // initialized
 1383|  14.1k|    ptr_invalidate_and_poison(ip);
 1384|  14.1k|    assert(ip != nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1385|      0|    (void) ip;
 1386|  14.1k|    double *dp; // not initialized
 1387|  14.1k|    ptr_invalidate_and_poison(dp);
 1388|  14.1k|    assert(dp != nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1389|      0|    (void) dp;
 1390|  14.1k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
 1392|  14.1k|TEST_CASE("upx_getenv") {
 1393|  14.1k|    CHECK_EQ(upx_getenv(nullptr), nullptr);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1394|  14.1k|    CHECK_EQ(upx_getenv(""), nullptr);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1395|  14.1k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
 1397|  14.1k|TEST_CASE("working -fno-strict-aliasing") {
 1398|  14.1k|    bool ok;
 1399|  14.1k|    long v = 0;
 1400|  14.1k|    short *ps = ACC_STATIC_CAST(short *, acc_vget_acc_hvoid_p(&v, 0));
  ------------------
  |  | 1472|  14.1k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1401|  14.1k|    int *pi = ACC_STATIC_CAST(int *, acc_vget_acc_hvoid_p(&v, 0));
  ------------------
  |  | 1472|  14.1k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1402|  14.1k|    long *pl = ACC_STATIC_CAST(long *, acc_vget_acc_hvoid_p(&v, 0));
  ------------------
  |  | 1472|  14.1k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1403|  14.1k|    *ps = 0;
 1404|  14.1k|    *pl = -1;
 1405|  14.1k|    ok = *ps == -1;
 1406|  14.1k|    CHECK(ok);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1407|  14.1k|    *pi = 0;
 1408|  14.1k|    *pl = -1;
 1409|  14.1k|    ok = *pi == -1;
 1410|  14.1k|    CHECK(ok);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1411|  14.1k|    *pl = 0;
 1412|  14.1k|    *ps = -1;
 1413|  14.1k|    ok = *pl != 0;
 1414|  14.1k|    CHECK(ok);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1415|  14.1k|    *pl = 0;
 1416|  14.1k|    *pi = -1;
 1417|  14.1k|    ok = *pl != 0;
 1418|  14.1k|    CHECK(ok);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1419|  14.1k|    UNUSED(ok);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1420|  14.1k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_14v:
 1422|  14.1k|TEST_CASE("working -fno-strict-overflow") {
 1423|  14.1k|    CHECK_EQ(acc_vget_int(INT_MAX, 0) + 1, INT_MIN);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1424|  14.1k|    CHECK_EQ(acc_vget_int(INT_MIN, 0) - 1, INT_MAX);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1425|  14.1k|    CHECK_EQ(acc_vget_long(LONG_MAX, 0) + 1, LONG_MIN);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1426|  14.1k|    CHECK_EQ(acc_vget_long(LONG_MIN, 0) - 1, LONG_MAX);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1427|  14.1k|    bool ok;
 1428|  14.1k|    int i;
 1429|  14.1k|    i = INT_MAX;
 1430|  14.1k|    i += 1;
 1431|  14.1k|    ok = i == INT_MIN;
 1432|  14.1k|    CHECK(ok);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1433|  14.1k|    i = INT_MIN;
 1434|  14.1k|    i -= 1;
 1435|  14.1k|    ok = i == INT_MAX;
 1436|  14.1k|    CHECK(ok);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1437|  14.1k|    UNUSED(ok);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1438|  14.1k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_16v:
 1440|  14.1k|TEST_CASE("libc snprintf") {
 1441|       |    // runtime check that Windows/MinGW <stdio.h> works as expected
 1442|  14.1k|    char buf[64];
 1443|  14.1k|    long long ll = acc_vget_int(-1, 0);
 1444|  14.1k|    unsigned long long llu = (upx_uint64_t) (upx_int64_t) ll;
 1445|  14.1k|    snprintf(buf, sizeof(buf), "%d.%ld.%lld.%u.%lu.%llu", -3, -2L, ll, 3U, 2LU, llu);
  ------------------
  |  |   75|  14.1k|#define snprintf  upx_safe_snprintf
  ------------------
 1446|  14.1k|    CHECK_EQ(strcmp(buf, "-3.-2.-1.3.2.18446744073709551615"), 0);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1447|  14.1k|    intmax_t im = ll;
 1448|  14.1k|    uintmax_t um = llu;
 1449|  14.1k|    snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%jd", -4, 0, 0, 0, 0, 0, 0, 0, 4, im);
  ------------------
  |  |   75|  14.1k|#define snprintf  upx_safe_snprintf
  ------------------
 1450|  14.1k|    CHECK_EQ(strcmp(buf, "-4.0.0.0.0.0.0.0.4.-1"), 0);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1451|  14.1k|    snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%ju", -5, 0, 0, 0, 0, 0, 0, 0, 5, um);
  ------------------
  |  |   75|  14.1k|#define snprintf  upx_safe_snprintf
  ------------------
 1452|  14.1k|    CHECK_EQ(strcmp(buf, "-5.0.0.0.0.0.0.0.5.18446744073709551615"), 0);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1453|  14.1k|    snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%jx", -6, 0, 0, 0, 0, 0, 0, 0, 6, um);
  ------------------
  |  |   75|  14.1k|#define snprintf  upx_safe_snprintf
  ------------------
 1454|  14.1k|    CHECK_EQ(strcmp(buf, "-6.0.0.0.0.0.0.0.6.ffffffffffffffff"), 0);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1455|  14.1k|    snprintf(buf, sizeof(buf), "%d.%d.%d.%d.%d.%d.%d.%d.%d.%#jx", -7, 0, 0, 0, 0, 0, 0, 0, 7, um);
  ------------------
  |  |   75|  14.1k|#define snprintf  upx_safe_snprintf
  ------------------
 1456|  14.1k|    CHECK_EQ(strcmp(buf, "-7.0.0.0.0.0.0.0.7.0xffffffffffffffff"), 0);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1457|  14.1k|    snprintf(buf, sizeof(buf), "%#X %#lx %#llx", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  14.1k|#define snprintf  upx_safe_snprintf
  ------------------
 1458|  14.1k|    CHECK_EQ(strcmp(buf, "0X1A 0x1b 0x1c"), 0);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1459|  14.1k|    snprintf(buf, sizeof(buf), "%#06x %#06lX %#06llx", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  14.1k|#define snprintf  upx_safe_snprintf
  ------------------
 1460|  14.1k|    CHECK_EQ(strcmp(buf, "0x001a 0X001B 0x001c"), 0);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1461|  14.1k|    snprintf(buf, sizeof(buf), "%#6x %#6lx %#6llX", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  14.1k|#define snprintf  upx_safe_snprintf
  ------------------
 1462|  14.1k|    CHECK_EQ(strcmp(buf, "  0x1a   0x1b   0X1C"), 0);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1463|  14.1k|    snprintf(buf, sizeof(buf), "%#-6X %#-6lx %#-6llx", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  14.1k|#define snprintf  upx_safe_snprintf
  ------------------
 1464|  14.1k|    CHECK_EQ(strcmp(buf, "0X1A   0x1b   0x1c  "), 0);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1465|  14.1k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_18v:
 1467|  14.1k|TEST_CASE("libc qsort") {
 1468|       |    // runtime check that libc qsort() never compares identical objects
 1469|       |    // UPDATE: while only poor implementations of qsort() would actually do this
 1470|       |    //   it is probably allowed by the standard, so skip this test by default
 1471|  14.1k|    if (!is_envvar_true("UPX_DEBUG_TEST_LIBC_QSORT"))
  ------------------
  |  Branch (1471:9): [True: 14.1k, False: 0]
  ------------------
 1472|  14.1k|        return;
 1473|       |
 1474|      0|    struct Elem {
 1475|      0|        upx_uint16_t id;
 1476|      0|        upx_uint16_t value;
 1477|      0|        static int __acc_cdecl_qsort compare(const void *aa, const void *bb) noexcept {
 1478|      0|            const Elem *a = (const Elem *) aa;
 1479|      0|            const Elem *b = (const Elem *) bb;
 1480|      0|            assert_noexcept(a->id != b->id); // check not IDENTICAL
 1481|      0|            return a->value == b->value ? 0 : (a->value < b->value ? -1 : 1);
 1482|      0|        }
 1483|      0|        static noinline bool check_sort(upx_sort_func_t sort, Elem *e, size_t n, bool is_stable) {
 1484|      0|            upx_uint32_t x = 5381 + (upx_rand() & 255);
 1485|      0|            for (size_t i = 0; i < n; i++) {
 1486|      0|                e[i].id = (upx_uint16_t) i;
 1487|      0|                x = x * 33 + 1 + (i & 255);
 1488|      0|                e[i].value = (upx_uint16_t) ((x >> 4) & 15);
 1489|      0|            }
 1490|      0|            sort(e, n, sizeof(Elem), Elem::compare);
 1491|       |            // verify
 1492|      0|            for (size_t i = 1; i < n; i++) {
 1493|      0|                if very_unlikely (e[i - 1].value > e[i].value)
 1494|      0|                    return false;
 1495|      0|                if (is_stable)
 1496|      0|                    if very_unlikely (e[i - 1].value == e[i].value && e[i - 1].id >= e[i].id)
 1497|      0|                        return false;
 1498|      0|            }
 1499|      0|            return true;
 1500|      0|        }
 1501|      0|    };
 1502|       |
 1503|      0|    constexpr size_t N = 256;
 1504|      0|    Elem e[N];
 1505|      0|    for (size_t n = 0; n <= N; n = 2 * n + 1) {
  ------------------
  |  Branch (1505:24): [True: 0, False: 0]
  ------------------
 1506|       |        // system sort functions
 1507|      0|        CHECK(Elem::check_sort(::qsort, e, n, false)); // libc qsort()
  ------------------
  |  | 2968|      0|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|      0|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|      0|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|      0|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1508|       |#if UPX_CONFIG_USE_STABLE_SORT
 1509|       |        upx_sort_func_t wrap_stable_sort = [](void *aa, size_t nn, size_t, upx_compare_func_t cc) {
 1510|       |            upx_std_stable_sort<sizeof(Elem)>(aa, nn, cc);
 1511|       |        };
 1512|       |        CHECK(Elem::check_sort(wrap_stable_sort, e, n, true)); // std::stable_sort()
 1513|       |#endif
 1514|       |        // simple UPX sort functions
 1515|      0|        CHECK(Elem::check_sort(upx_gnomesort, e, n, true));
  ------------------
  |  | 2968|      0|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|      0|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|      0|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|      0|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1516|      0|        CHECK(Elem::check_sort(upx_shellsort_memswap, e, n, false));
  ------------------
  |  | 2968|      0|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|      0|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|      0|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|      0|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1517|      0|        CHECK(Elem::check_sort(upx_shellsort_memcpy, e, n, false));
  ------------------
  |  | 2968|      0|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|      0|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|      0|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|      0|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1518|      0|    }
 1519|      0|}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE5checkEv:
  424|  28.2k|    static noinline void check() noexcept {
  425|  28.2k|        check_core();
  426|  28.2k|        {
  427|  28.2k|            T zero, one, three, four;
  428|  28.2k|            zero = 0;
  429|  28.2k|            one = 1;
  430|  28.2k|            three = 3;
  431|  28.2k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  28.2k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  28.2k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  28.2k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  28.2k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  28.2k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  28.2k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  28.2k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  28.2k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  28.2k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  28.2k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  28.2k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  28.2k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  28.2k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  28.2k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  28.2k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  28.2k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  28.2k|        }
  459|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE10check_coreEv:
  383|  28.2k|    static noinline void check_core() noexcept {
  384|  28.2k|        checkU<T>();
  385|  28.2k|        checkU<typename std::add_const<T>::type>();
  386|  28.2k|        {
  387|  28.2k|            TestT t = {};
  388|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  28.2k|        }
  391|      0|        {
  392|  28.2k|            const TestT t = {};
  393|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  28.2k|        }
  396|  28.2k|        {
  397|  28.2k|            constexpr TestT t = {};
  398|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  28.2k|        }
  401|  28.2k|        {
  402|  28.2k|            TestT t;
  403|  28.2k|            mem_clear(&t);
  404|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  28.2k|        }
  407|      0|        {
  408|  28.2k|            T zero, one, three, four;
  409|  28.2k|            zero = 0;
  410|  28.2k|            one = 1;
  411|  28.2k|            three = 3;
  412|  28.2k|            four = 4;
  413|  28.2k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  28.2k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  28.2k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  28.2k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  28.2k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  28.2k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  28.2k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  28.2k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  28.2k|        }
  423|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE6checkUIcEEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  28.2k|#if defined(upx_is_constant_evaluated)
  369|  28.2k|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE6checkUIKcEEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  28.2k|#if defined(upx_is_constant_evaluated)
  369|  28.2k|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE5checkEv:
  424|  56.5k|    static noinline void check() noexcept {
  425|  56.5k|        check_core();
  426|  56.5k|        {
  427|  56.5k|            T zero, one, three, four;
  428|  56.5k|            zero = 0;
  429|  56.5k|            one = 1;
  430|  56.5k|            three = 3;
  431|  56.5k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  56.5k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  56.5k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  56.5k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  56.5k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  56.5k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  56.5k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  56.5k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  56.5k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  56.5k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  56.5k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  56.5k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  56.5k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  56.5k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  56.5k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  56.5k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  56.5k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  56.5k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  56.5k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  56.5k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  56.5k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  56.5k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  56.5k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  56.5k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  56.5k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  56.5k|        }
  459|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE10check_coreEv:
  383|  56.5k|    static noinline void check_core() noexcept {
  384|  56.5k|        checkU<T>();
  385|  56.5k|        checkU<typename std::add_const<T>::type>();
  386|  56.5k|        {
  387|  56.5k|            TestT t = {};
  388|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  56.5k|        }
  391|      0|        {
  392|  56.5k|            const TestT t = {};
  393|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  56.5k|        }
  396|  56.5k|        {
  397|  56.5k|            constexpr TestT t = {};
  398|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  56.5k|        }
  401|  56.5k|        {
  402|  56.5k|            TestT t;
  403|  56.5k|            mem_clear(&t);
  404|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  56.5k|        }
  407|      0|        {
  408|  56.5k|            T zero, one, three, four;
  409|  56.5k|            zero = 0;
  410|  56.5k|            one = 1;
  411|  56.5k|            three = 3;
  412|  56.5k|            four = 4;
  413|  56.5k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  56.5k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  56.5k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  56.5k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  56.5k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  56.5k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  56.5k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  56.5k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  56.5k|        }
  423|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE6checkUIaEEvv:
  339|  56.5k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  56.5k|        static_assert(upx_is_integral<U>::value);
  342|  56.5k|        static_assert(upx_is_integral_v<U>);
  343|  56.5k|#if __cplusplus <= 201703L
  344|  56.5k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  56.5k|#endif
  346|  56.5k|        static_assert(std::is_standard_layout<U>::value);
  347|  56.5k|#if __cplusplus <= 202302L
  348|  56.5k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  56.5k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  56.5k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  56.5k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  56.5k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  56.5k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  56.5k|        {
  356|  56.5k|            U a = {};
  357|  56.5k|            const U b = {};
  358|  56.5k|            constexpr U c = {};
  359|  56.5k|            U x[2] = {};
  360|  56.5k|            const U y[2] = {};
  361|  56.5k|            constexpr U z[2] = {};
  362|  56.5k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  56.5k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  56.5k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  56.5k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  56.5k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  56.5k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  56.5k|#if defined(upx_is_constant_evaluated)
  369|  56.5k|            static_assert(c == 0);
  370|  56.5k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  56.5k|#endif
  372|  56.5k|        }
  373|      0|        {
  374|  56.5k|            TestU<U> t;
  375|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  56.5k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  56.5k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  56.5k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  56.5k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  56.5k|        }
  382|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE6checkUIKaEEvv:
  339|  56.5k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  56.5k|        static_assert(upx_is_integral<U>::value);
  342|  56.5k|        static_assert(upx_is_integral_v<U>);
  343|  56.5k|#if __cplusplus <= 201703L
  344|  56.5k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  56.5k|#endif
  346|  56.5k|        static_assert(std::is_standard_layout<U>::value);
  347|  56.5k|#if __cplusplus <= 202302L
  348|  56.5k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  56.5k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  56.5k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  56.5k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  56.5k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  56.5k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  56.5k|        {
  356|  56.5k|            U a = {};
  357|  56.5k|            const U b = {};
  358|  56.5k|            constexpr U c = {};
  359|  56.5k|            U x[2] = {};
  360|  56.5k|            const U y[2] = {};
  361|  56.5k|            constexpr U z[2] = {};
  362|  56.5k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  56.5k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  56.5k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  56.5k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  56.5k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  56.5k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  56.5k|#if defined(upx_is_constant_evaluated)
  369|  56.5k|            static_assert(c == 0);
  370|  56.5k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  56.5k|#endif
  372|  56.5k|        }
  373|      0|        {
  374|  56.5k|            TestU<U> t;
  375|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  56.5k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  56.5k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  56.5k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  56.5k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  56.5k|        }
  382|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE5checkEv:
  424|  56.5k|    static noinline void check() noexcept {
  425|  56.5k|        check_core();
  426|  56.5k|        {
  427|  56.5k|            T zero, one, three, four;
  428|  56.5k|            zero = 0;
  429|  56.5k|            one = 1;
  430|  56.5k|            three = 3;
  431|  56.5k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  56.5k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  56.5k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  56.5k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  56.5k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  56.5k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  56.5k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  56.5k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  56.5k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  56.5k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  56.5k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  56.5k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  56.5k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  56.5k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  56.5k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  56.5k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  56.5k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  56.5k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  56.5k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  56.5k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  56.5k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  56.5k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  56.5k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  56.5k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  56.5k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  56.5k|        }
  459|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE10check_coreEv:
  383|  56.5k|    static noinline void check_core() noexcept {
  384|  56.5k|        checkU<T>();
  385|  56.5k|        checkU<typename std::add_const<T>::type>();
  386|  56.5k|        {
  387|  56.5k|            TestT t = {};
  388|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  56.5k|        }
  391|      0|        {
  392|  56.5k|            const TestT t = {};
  393|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  56.5k|        }
  396|  56.5k|        {
  397|  56.5k|            constexpr TestT t = {};
  398|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  56.5k|        }
  401|  56.5k|        {
  402|  56.5k|            TestT t;
  403|  56.5k|            mem_clear(&t);
  404|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  56.5k|        }
  407|      0|        {
  408|  56.5k|            T zero, one, three, four;
  409|  56.5k|            zero = 0;
  410|  56.5k|            one = 1;
  411|  56.5k|            three = 3;
  412|  56.5k|            four = 4;
  413|  56.5k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  56.5k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  56.5k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  56.5k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  56.5k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  56.5k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  56.5k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  56.5k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  56.5k|        }
  423|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE6checkUIhEEvv:
  339|  56.5k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  56.5k|        static_assert(upx_is_integral<U>::value);
  342|  56.5k|        static_assert(upx_is_integral_v<U>);
  343|  56.5k|#if __cplusplus <= 201703L
  344|  56.5k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  56.5k|#endif
  346|  56.5k|        static_assert(std::is_standard_layout<U>::value);
  347|  56.5k|#if __cplusplus <= 202302L
  348|  56.5k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  56.5k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  56.5k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  56.5k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  56.5k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  56.5k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  56.5k|        {
  356|  56.5k|            U a = {};
  357|  56.5k|            const U b = {};
  358|  56.5k|            constexpr U c = {};
  359|  56.5k|            U x[2] = {};
  360|  56.5k|            const U y[2] = {};
  361|  56.5k|            constexpr U z[2] = {};
  362|  56.5k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  56.5k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  56.5k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  56.5k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  56.5k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  56.5k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  56.5k|#if defined(upx_is_constant_evaluated)
  369|  56.5k|            static_assert(c == 0);
  370|  56.5k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  56.5k|#endif
  372|  56.5k|        }
  373|      0|        {
  374|  56.5k|            TestU<U> t;
  375|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  56.5k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  56.5k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  56.5k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  56.5k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  56.5k|        }
  382|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE6checkUIKhEEvv:
  339|  56.5k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  56.5k|        static_assert(upx_is_integral<U>::value);
  342|  56.5k|        static_assert(upx_is_integral_v<U>);
  343|  56.5k|#if __cplusplus <= 201703L
  344|  56.5k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  56.5k|#endif
  346|  56.5k|        static_assert(std::is_standard_layout<U>::value);
  347|  56.5k|#if __cplusplus <= 202302L
  348|  56.5k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  56.5k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  56.5k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  56.5k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  56.5k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  56.5k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  56.5k|        {
  356|  56.5k|            U a = {};
  357|  56.5k|            const U b = {};
  358|  56.5k|            constexpr U c = {};
  359|  56.5k|            U x[2] = {};
  360|  56.5k|            const U y[2] = {};
  361|  56.5k|            constexpr U z[2] = {};
  362|  56.5k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  56.5k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  56.5k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  56.5k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  56.5k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  56.5k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  56.5k|#if defined(upx_is_constant_evaluated)
  369|  56.5k|            static_assert(c == 0);
  370|  56.5k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  56.5k|#endif
  372|  56.5k|        }
  373|      0|        {
  374|  56.5k|            TestU<U> t;
  375|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  56.5k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  56.5k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  56.5k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  56.5k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  56.5k|        }
  382|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE5checkEv:
  424|  56.5k|    static noinline void check() noexcept {
  425|  56.5k|        check_core();
  426|  56.5k|        {
  427|  56.5k|            T zero, one, three, four;
  428|  56.5k|            zero = 0;
  429|  56.5k|            one = 1;
  430|  56.5k|            three = 3;
  431|  56.5k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  56.5k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  56.5k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  56.5k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  56.5k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  56.5k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  56.5k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  56.5k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  56.5k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  56.5k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  56.5k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  56.5k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  56.5k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  56.5k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  56.5k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  56.5k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  56.5k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  56.5k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  56.5k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  56.5k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  56.5k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  56.5k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  56.5k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  56.5k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  56.5k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  56.5k|        }
  459|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE10check_coreEv:
  383|  56.5k|    static noinline void check_core() noexcept {
  384|  56.5k|        checkU<T>();
  385|  56.5k|        checkU<typename std::add_const<T>::type>();
  386|  56.5k|        {
  387|  56.5k|            TestT t = {};
  388|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  56.5k|        }
  391|      0|        {
  392|  56.5k|            const TestT t = {};
  393|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  56.5k|        }
  396|  56.5k|        {
  397|  56.5k|            constexpr TestT t = {};
  398|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  56.5k|        }
  401|  56.5k|        {
  402|  56.5k|            TestT t;
  403|  56.5k|            mem_clear(&t);
  404|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  56.5k|        }
  407|      0|        {
  408|  56.5k|            T zero, one, three, four;
  409|  56.5k|            zero = 0;
  410|  56.5k|            one = 1;
  411|  56.5k|            three = 3;
  412|  56.5k|            four = 4;
  413|  56.5k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  56.5k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  56.5k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  56.5k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  56.5k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  56.5k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  56.5k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  56.5k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  56.5k|        }
  423|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE6checkUIsEEvv:
  339|  56.5k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  56.5k|        static_assert(upx_is_integral<U>::value);
  342|  56.5k|        static_assert(upx_is_integral_v<U>);
  343|  56.5k|#if __cplusplus <= 201703L
  344|  56.5k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  56.5k|#endif
  346|  56.5k|        static_assert(std::is_standard_layout<U>::value);
  347|  56.5k|#if __cplusplus <= 202302L
  348|  56.5k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  56.5k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  56.5k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  56.5k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  56.5k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  56.5k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  56.5k|        {
  356|  56.5k|            U a = {};
  357|  56.5k|            const U b = {};
  358|  56.5k|            constexpr U c = {};
  359|  56.5k|            U x[2] = {};
  360|  56.5k|            const U y[2] = {};
  361|  56.5k|            constexpr U z[2] = {};
  362|  56.5k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  56.5k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  56.5k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  56.5k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  56.5k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  56.5k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  56.5k|#if defined(upx_is_constant_evaluated)
  369|  56.5k|            static_assert(c == 0);
  370|  56.5k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  56.5k|#endif
  372|  56.5k|        }
  373|      0|        {
  374|  56.5k|            TestU<U> t;
  375|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  56.5k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  56.5k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  56.5k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  56.5k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  56.5k|        }
  382|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE6checkUIKsEEvv:
  339|  56.5k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  56.5k|        static_assert(upx_is_integral<U>::value);
  342|  56.5k|        static_assert(upx_is_integral_v<U>);
  343|  56.5k|#if __cplusplus <= 201703L
  344|  56.5k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  56.5k|#endif
  346|  56.5k|        static_assert(std::is_standard_layout<U>::value);
  347|  56.5k|#if __cplusplus <= 202302L
  348|  56.5k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  56.5k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  56.5k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  56.5k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  56.5k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  56.5k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  56.5k|        {
  356|  56.5k|            U a = {};
  357|  56.5k|            const U b = {};
  358|  56.5k|            constexpr U c = {};
  359|  56.5k|            U x[2] = {};
  360|  56.5k|            const U y[2] = {};
  361|  56.5k|            constexpr U z[2] = {};
  362|  56.5k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  56.5k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  56.5k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  56.5k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  56.5k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  56.5k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  56.5k|#if defined(upx_is_constant_evaluated)
  369|  56.5k|            static_assert(c == 0);
  370|  56.5k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  56.5k|#endif
  372|  56.5k|        }
  373|      0|        {
  374|  56.5k|            TestU<U> t;
  375|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  56.5k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  56.5k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  56.5k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  56.5k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  56.5k|        }
  382|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE5checkEv:
  424|  56.5k|    static noinline void check() noexcept {
  425|  56.5k|        check_core();
  426|  56.5k|        {
  427|  56.5k|            T zero, one, three, four;
  428|  56.5k|            zero = 0;
  429|  56.5k|            one = 1;
  430|  56.5k|            three = 3;
  431|  56.5k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  56.5k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  56.5k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  56.5k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  56.5k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  56.5k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  56.5k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  56.5k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  56.5k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  56.5k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  56.5k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  56.5k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  56.5k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  56.5k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  56.5k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  56.5k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  56.5k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  56.5k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  56.5k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  56.5k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  56.5k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  56.5k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  56.5k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  56.5k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  56.5k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  56.5k|        }
  459|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE10check_coreEv:
  383|  56.5k|    static noinline void check_core() noexcept {
  384|  56.5k|        checkU<T>();
  385|  56.5k|        checkU<typename std::add_const<T>::type>();
  386|  56.5k|        {
  387|  56.5k|            TestT t = {};
  388|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  56.5k|        }
  391|      0|        {
  392|  56.5k|            const TestT t = {};
  393|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  56.5k|        }
  396|  56.5k|        {
  397|  56.5k|            constexpr TestT t = {};
  398|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  56.5k|        }
  401|  56.5k|        {
  402|  56.5k|            TestT t;
  403|  56.5k|            mem_clear(&t);
  404|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  56.5k|        }
  407|      0|        {
  408|  56.5k|            T zero, one, three, four;
  409|  56.5k|            zero = 0;
  410|  56.5k|            one = 1;
  411|  56.5k|            three = 3;
  412|  56.5k|            four = 4;
  413|  56.5k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  56.5k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  56.5k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  56.5k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  56.5k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  56.5k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  56.5k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  56.5k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  56.5k|        }
  423|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE6checkUItEEvv:
  339|  56.5k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  56.5k|        static_assert(upx_is_integral<U>::value);
  342|  56.5k|        static_assert(upx_is_integral_v<U>);
  343|  56.5k|#if __cplusplus <= 201703L
  344|  56.5k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  56.5k|#endif
  346|  56.5k|        static_assert(std::is_standard_layout<U>::value);
  347|  56.5k|#if __cplusplus <= 202302L
  348|  56.5k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  56.5k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  56.5k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  56.5k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  56.5k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  56.5k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  56.5k|        {
  356|  56.5k|            U a = {};
  357|  56.5k|            const U b = {};
  358|  56.5k|            constexpr U c = {};
  359|  56.5k|            U x[2] = {};
  360|  56.5k|            const U y[2] = {};
  361|  56.5k|            constexpr U z[2] = {};
  362|  56.5k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  56.5k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  56.5k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  56.5k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  56.5k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  56.5k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  56.5k|#if defined(upx_is_constant_evaluated)
  369|  56.5k|            static_assert(c == 0);
  370|  56.5k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  56.5k|#endif
  372|  56.5k|        }
  373|      0|        {
  374|  56.5k|            TestU<U> t;
  375|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  56.5k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  56.5k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  56.5k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  56.5k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  56.5k|        }
  382|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE6checkUIKtEEvv:
  339|  56.5k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  56.5k|        static_assert(upx_is_integral<U>::value);
  342|  56.5k|        static_assert(upx_is_integral_v<U>);
  343|  56.5k|#if __cplusplus <= 201703L
  344|  56.5k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  56.5k|#endif
  346|  56.5k|        static_assert(std::is_standard_layout<U>::value);
  347|  56.5k|#if __cplusplus <= 202302L
  348|  56.5k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  56.5k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  56.5k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  56.5k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  56.5k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  56.5k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  56.5k|        {
  356|  56.5k|            U a = {};
  357|  56.5k|            const U b = {};
  358|  56.5k|            constexpr U c = {};
  359|  56.5k|            U x[2] = {};
  360|  56.5k|            const U y[2] = {};
  361|  56.5k|            constexpr U z[2] = {};
  362|  56.5k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  56.5k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  56.5k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  56.5k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  56.5k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  56.5k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  56.5k|#if defined(upx_is_constant_evaluated)
  369|  56.5k|            static_assert(c == 0);
  370|  56.5k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  56.5k|#endif
  372|  56.5k|        }
  373|      0|        {
  374|  56.5k|            TestU<U> t;
  375|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  56.5k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  56.5k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  56.5k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  56.5k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  56.5k|        }
  382|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE5checkEv:
  424|  56.5k|    static noinline void check() noexcept {
  425|  56.5k|        check_core();
  426|  56.5k|        {
  427|  56.5k|            T zero, one, three, four;
  428|  56.5k|            zero = 0;
  429|  56.5k|            one = 1;
  430|  56.5k|            three = 3;
  431|  56.5k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  56.5k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  56.5k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  56.5k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  56.5k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  56.5k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  56.5k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  56.5k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  56.5k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  56.5k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  56.5k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  56.5k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  56.5k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  56.5k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  56.5k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  56.5k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  56.5k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  56.5k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  56.5k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  56.5k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  56.5k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  56.5k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  56.5k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  56.5k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  56.5k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  56.5k|        }
  459|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE10check_coreEv:
  383|  56.5k|    static noinline void check_core() noexcept {
  384|  56.5k|        checkU<T>();
  385|  56.5k|        checkU<typename std::add_const<T>::type>();
  386|  56.5k|        {
  387|  56.5k|            TestT t = {};
  388|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  56.5k|        }
  391|      0|        {
  392|  56.5k|            const TestT t = {};
  393|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  56.5k|        }
  396|  56.5k|        {
  397|  56.5k|            constexpr TestT t = {};
  398|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  56.5k|        }
  401|  56.5k|        {
  402|  56.5k|            TestT t;
  403|  56.5k|            mem_clear(&t);
  404|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  56.5k|        }
  407|      0|        {
  408|  56.5k|            T zero, one, three, four;
  409|  56.5k|            zero = 0;
  410|  56.5k|            one = 1;
  411|  56.5k|            three = 3;
  412|  56.5k|            four = 4;
  413|  56.5k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  56.5k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  56.5k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  56.5k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  56.5k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  56.5k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  56.5k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  56.5k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  56.5k|        }
  423|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE6checkUIiEEvv:
  339|  56.5k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  56.5k|        static_assert(upx_is_integral<U>::value);
  342|  56.5k|        static_assert(upx_is_integral_v<U>);
  343|  56.5k|#if __cplusplus <= 201703L
  344|  56.5k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  56.5k|#endif
  346|  56.5k|        static_assert(std::is_standard_layout<U>::value);
  347|  56.5k|#if __cplusplus <= 202302L
  348|  56.5k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  56.5k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  56.5k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  56.5k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  56.5k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  56.5k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  56.5k|        {
  356|  56.5k|            U a = {};
  357|  56.5k|            const U b = {};
  358|  56.5k|            constexpr U c = {};
  359|  56.5k|            U x[2] = {};
  360|  56.5k|            const U y[2] = {};
  361|  56.5k|            constexpr U z[2] = {};
  362|  56.5k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  56.5k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  56.5k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  56.5k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  56.5k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  56.5k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  56.5k|#if defined(upx_is_constant_evaluated)
  369|  56.5k|            static_assert(c == 0);
  370|  56.5k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  56.5k|#endif
  372|  56.5k|        }
  373|      0|        {
  374|  56.5k|            TestU<U> t;
  375|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  56.5k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  56.5k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  56.5k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  56.5k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  56.5k|        }
  382|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE6checkUIKiEEvv:
  339|  56.5k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  56.5k|        static_assert(upx_is_integral<U>::value);
  342|  56.5k|        static_assert(upx_is_integral_v<U>);
  343|  56.5k|#if __cplusplus <= 201703L
  344|  56.5k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  56.5k|#endif
  346|  56.5k|        static_assert(std::is_standard_layout<U>::value);
  347|  56.5k|#if __cplusplus <= 202302L
  348|  56.5k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  56.5k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  56.5k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  56.5k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  56.5k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  56.5k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  56.5k|        {
  356|  56.5k|            U a = {};
  357|  56.5k|            const U b = {};
  358|  56.5k|            constexpr U c = {};
  359|  56.5k|            U x[2] = {};
  360|  56.5k|            const U y[2] = {};
  361|  56.5k|            constexpr U z[2] = {};
  362|  56.5k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  56.5k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  56.5k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  56.5k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  56.5k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  56.5k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  56.5k|#if defined(upx_is_constant_evaluated)
  369|  56.5k|            static_assert(c == 0);
  370|  56.5k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  56.5k|#endif
  372|  56.5k|        }
  373|      0|        {
  374|  56.5k|            TestU<U> t;
  375|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  56.5k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  56.5k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  56.5k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  56.5k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  56.5k|        }
  382|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE5checkEv:
  424|  56.5k|    static noinline void check() noexcept {
  425|  56.5k|        check_core();
  426|  56.5k|        {
  427|  56.5k|            T zero, one, three, four;
  428|  56.5k|            zero = 0;
  429|  56.5k|            one = 1;
  430|  56.5k|            three = 3;
  431|  56.5k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  56.5k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  56.5k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  56.5k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  56.5k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  56.5k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  56.5k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  56.5k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  56.5k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  56.5k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  56.5k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  56.5k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  56.5k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  56.5k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  56.5k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  56.5k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  56.5k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  56.5k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  56.5k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  56.5k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  56.5k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  56.5k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  56.5k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  56.5k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  56.5k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  56.5k|        }
  459|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE10check_coreEv:
  383|  56.5k|    static noinline void check_core() noexcept {
  384|  56.5k|        checkU<T>();
  385|  56.5k|        checkU<typename std::add_const<T>::type>();
  386|  56.5k|        {
  387|  56.5k|            TestT t = {};
  388|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  56.5k|        }
  391|      0|        {
  392|  56.5k|            const TestT t = {};
  393|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  56.5k|        }
  396|  56.5k|        {
  397|  56.5k|            constexpr TestT t = {};
  398|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  56.5k|        }
  401|  56.5k|        {
  402|  56.5k|            TestT t;
  403|  56.5k|            mem_clear(&t);
  404|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  56.5k|        }
  407|      0|        {
  408|  56.5k|            T zero, one, three, four;
  409|  56.5k|            zero = 0;
  410|  56.5k|            one = 1;
  411|  56.5k|            three = 3;
  412|  56.5k|            four = 4;
  413|  56.5k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  56.5k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  56.5k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  56.5k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  56.5k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  56.5k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  56.5k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  56.5k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  56.5k|        }
  423|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE6checkUIjEEvv:
  339|  56.5k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  56.5k|        static_assert(upx_is_integral<U>::value);
  342|  56.5k|        static_assert(upx_is_integral_v<U>);
  343|  56.5k|#if __cplusplus <= 201703L
  344|  56.5k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  56.5k|#endif
  346|  56.5k|        static_assert(std::is_standard_layout<U>::value);
  347|  56.5k|#if __cplusplus <= 202302L
  348|  56.5k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  56.5k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  56.5k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  56.5k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  56.5k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  56.5k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  56.5k|        {
  356|  56.5k|            U a = {};
  357|  56.5k|            const U b = {};
  358|  56.5k|            constexpr U c = {};
  359|  56.5k|            U x[2] = {};
  360|  56.5k|            const U y[2] = {};
  361|  56.5k|            constexpr U z[2] = {};
  362|  56.5k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  56.5k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  56.5k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  56.5k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  56.5k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  56.5k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  56.5k|#if defined(upx_is_constant_evaluated)
  369|  56.5k|            static_assert(c == 0);
  370|  56.5k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  56.5k|#endif
  372|  56.5k|        }
  373|      0|        {
  374|  56.5k|            TestU<U> t;
  375|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  56.5k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  56.5k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  56.5k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  56.5k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  56.5k|        }
  382|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE6checkUIKjEEvv:
  339|  56.5k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  56.5k|        static_assert(upx_is_integral<U>::value);
  342|  56.5k|        static_assert(upx_is_integral_v<U>);
  343|  56.5k|#if __cplusplus <= 201703L
  344|  56.5k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  56.5k|#endif
  346|  56.5k|        static_assert(std::is_standard_layout<U>::value);
  347|  56.5k|#if __cplusplus <= 202302L
  348|  56.5k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  56.5k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  56.5k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  56.5k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  56.5k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  56.5k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  56.5k|        {
  356|  56.5k|            U a = {};
  357|  56.5k|            const U b = {};
  358|  56.5k|            constexpr U c = {};
  359|  56.5k|            U x[2] = {};
  360|  56.5k|            const U y[2] = {};
  361|  56.5k|            constexpr U z[2] = {};
  362|  56.5k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  56.5k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  56.5k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  56.5k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  56.5k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  56.5k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  56.5k|#if defined(upx_is_constant_evaluated)
  369|  56.5k|            static_assert(c == 0);
  370|  56.5k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  56.5k|#endif
  372|  56.5k|        }
  373|      0|        {
  374|  56.5k|            TestU<U> t;
  375|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  56.5k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  56.5k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  56.5k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  56.5k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  56.5k|        }
  382|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE5checkEv:
  424|   141k|    static noinline void check() noexcept {
  425|   141k|        check_core();
  426|   141k|        {
  427|   141k|            T zero, one, three, four;
  428|   141k|            zero = 0;
  429|   141k|            one = 1;
  430|   141k|            three = 3;
  431|   141k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|   141k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|   141k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|   141k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|   141k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|   141k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|   141k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|   141k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|   141k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|   141k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|   141k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|   141k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|   141k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|   141k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|   141k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|   141k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|   141k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|   141k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|   141k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|   141k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|   141k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|   141k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|   141k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|   141k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|   141k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|   141k|        }
  459|   141k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE10check_coreEv:
  383|   141k|    static noinline void check_core() noexcept {
  384|   141k|        checkU<T>();
  385|   141k|        checkU<typename std::add_const<T>::type>();
  386|   141k|        {
  387|   141k|            TestT t = {};
  388|   141k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|   141k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 141k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|   141k|        }
  391|      0|        {
  392|   141k|            const TestT t = {};
  393|   141k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|   141k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|   141k|        }
  396|   141k|        {
  397|   141k|            constexpr TestT t = {};
  398|   141k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|   141k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|   141k|        }
  401|   141k|        {
  402|   141k|            TestT t;
  403|   141k|            mem_clear(&t);
  404|   141k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|   141k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 141k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|   141k|        }
  407|      0|        {
  408|   141k|            T zero, one, three, four;
  409|   141k|            zero = 0;
  410|   141k|            one = 1;
  411|   141k|            three = 3;
  412|   141k|            four = 4;
  413|   141k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|   141k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|   141k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|   141k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|   141k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|   141k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|   141k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|   141k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|   141k|        }
  423|   141k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE6checkUIlEEvv:
  339|   141k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|   141k|        static_assert(upx_is_integral<U>::value);
  342|   141k|        static_assert(upx_is_integral_v<U>);
  343|   141k|#if __cplusplus <= 201703L
  344|   141k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|   141k|#endif
  346|   141k|        static_assert(std::is_standard_layout<U>::value);
  347|   141k|#if __cplusplus <= 202302L
  348|   141k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|   141k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|   141k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|   141k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|   141k|        static_assert(std::is_trivially_copyable<U>::value);
  354|   141k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|   141k|        {
  356|   141k|            U a = {};
  357|   141k|            const U b = {};
  358|   141k|            constexpr U c = {};
  359|   141k|            U x[2] = {};
  360|   141k|            const U y[2] = {};
  361|   141k|            constexpr U z[2] = {};
  362|   141k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|   141k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|   141k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|   141k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 141k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|   141k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|   141k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|   141k|#if defined(upx_is_constant_evaluated)
  369|   141k|            static_assert(c == 0);
  370|   141k|            static_assert(z[0] == 0 && z[1] == 0);
  371|   141k|#endif
  372|   141k|        }
  373|      0|        {
  374|   141k|            TestU<U> t;
  375|   141k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|   141k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|   141k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|   141k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 141k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|   141k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 141k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|   141k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|   141k|        }
  382|   141k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE6checkUIKlEEvv:
  339|   141k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|   141k|        static_assert(upx_is_integral<U>::value);
  342|   141k|        static_assert(upx_is_integral_v<U>);
  343|   141k|#if __cplusplus <= 201703L
  344|   141k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|   141k|#endif
  346|   141k|        static_assert(std::is_standard_layout<U>::value);
  347|   141k|#if __cplusplus <= 202302L
  348|   141k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|   141k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|   141k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|   141k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|   141k|        static_assert(std::is_trivially_copyable<U>::value);
  354|   141k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|   141k|        {
  356|   141k|            U a = {};
  357|   141k|            const U b = {};
  358|   141k|            constexpr U c = {};
  359|   141k|            U x[2] = {};
  360|   141k|            const U y[2] = {};
  361|   141k|            constexpr U z[2] = {};
  362|   141k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|   141k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|   141k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|   141k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|   141k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|   141k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|   141k|#if defined(upx_is_constant_evaluated)
  369|   141k|            static_assert(c == 0);
  370|   141k|            static_assert(z[0] == 0 && z[1] == 0);
  371|   141k|#endif
  372|   141k|        }
  373|      0|        {
  374|   141k|            TestU<U> t;
  375|   141k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|   141k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|   141k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|   141k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 141k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|   141k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 141k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 141k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|   141k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|   141k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   282k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 141k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|   141k|        }
  382|   141k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE5checkEv:
  424|   198k|    static noinline void check() noexcept {
  425|   198k|        check_core();
  426|   198k|        {
  427|   198k|            T zero, one, three, four;
  428|   198k|            zero = 0;
  429|   198k|            one = 1;
  430|   198k|            three = 3;
  431|   198k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|   198k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|   198k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|   198k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|   198k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|   198k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|   198k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|   198k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|   198k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|   198k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|   198k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|   198k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|   198k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|   198k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|   198k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|   198k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|   198k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|   198k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|   198k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|   198k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|   198k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|   198k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|   198k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|   198k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|   198k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|   198k|        }
  459|   198k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE10check_coreEv:
  383|   198k|    static noinline void check_core() noexcept {
  384|   198k|        checkU<T>();
  385|   198k|        checkU<typename std::add_const<T>::type>();
  386|   198k|        {
  387|   198k|            TestT t = {};
  388|   198k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|   198k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 198k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|   198k|        }
  391|      0|        {
  392|   198k|            const TestT t = {};
  393|   198k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|   198k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|   198k|        }
  396|   198k|        {
  397|   198k|            constexpr TestT t = {};
  398|   198k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|   198k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|   198k|        }
  401|   198k|        {
  402|   198k|            TestT t;
  403|   198k|            mem_clear(&t);
  404|   198k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|   198k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 198k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|   198k|        }
  407|      0|        {
  408|   198k|            T zero, one, three, four;
  409|   198k|            zero = 0;
  410|   198k|            one = 1;
  411|   198k|            three = 3;
  412|   198k|            four = 4;
  413|   198k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|   198k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|   198k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|   198k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|   198k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|   198k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|   198k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|   198k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|   198k|        }
  423|   198k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE6checkUImEEvv:
  339|   198k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|   198k|        static_assert(upx_is_integral<U>::value);
  342|   198k|        static_assert(upx_is_integral_v<U>);
  343|   198k|#if __cplusplus <= 201703L
  344|   198k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|   198k|#endif
  346|   198k|        static_assert(std::is_standard_layout<U>::value);
  347|   198k|#if __cplusplus <= 202302L
  348|   198k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|   198k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|   198k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|   198k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|   198k|        static_assert(std::is_trivially_copyable<U>::value);
  354|   198k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|   198k|        {
  356|   198k|            U a = {};
  357|   198k|            const U b = {};
  358|   198k|            constexpr U c = {};
  359|   198k|            U x[2] = {};
  360|   198k|            const U y[2] = {};
  361|   198k|            constexpr U z[2] = {};
  362|   198k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|   198k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|   198k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|   198k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 198k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|   198k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|   198k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|   198k|#if defined(upx_is_constant_evaluated)
  369|   198k|            static_assert(c == 0);
  370|   198k|            static_assert(z[0] == 0 && z[1] == 0);
  371|   198k|#endif
  372|   198k|        }
  373|      0|        {
  374|   198k|            TestU<U> t;
  375|   198k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|   198k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|   198k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|   198k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 198k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|   198k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 198k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|   198k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|   198k|        }
  382|   198k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE6checkUIKmEEvv:
  339|   198k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|   198k|        static_assert(upx_is_integral<U>::value);
  342|   198k|        static_assert(upx_is_integral_v<U>);
  343|   198k|#if __cplusplus <= 201703L
  344|   198k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|   198k|#endif
  346|   198k|        static_assert(std::is_standard_layout<U>::value);
  347|   198k|#if __cplusplus <= 202302L
  348|   198k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|   198k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|   198k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|   198k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|   198k|        static_assert(std::is_trivially_copyable<U>::value);
  354|   198k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|   198k|        {
  356|   198k|            U a = {};
  357|   198k|            const U b = {};
  358|   198k|            constexpr U c = {};
  359|   198k|            U x[2] = {};
  360|   198k|            const U y[2] = {};
  361|   198k|            constexpr U z[2] = {};
  362|   198k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|   198k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|   198k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|   198k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|   198k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|   198k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|   198k|#if defined(upx_is_constant_evaluated)
  369|   198k|            static_assert(c == 0);
  370|   198k|            static_assert(z[0] == 0 && z[1] == 0);
  371|   198k|#endif
  372|   198k|        }
  373|      0|        {
  374|   198k|            TestU<U> t;
  375|   198k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|   198k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|   198k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|   198k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 198k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|   198k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 198k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 198k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|   198k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|   198k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   396k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 198k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|   198k|        }
  382|   198k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE5checkEv:
  424|  84.8k|    static noinline void check() noexcept {
  425|  84.8k|        check_core();
  426|  84.8k|        {
  427|  84.8k|            T zero, one, three, four;
  428|  84.8k|            zero = 0;
  429|  84.8k|            one = 1;
  430|  84.8k|            three = 3;
  431|  84.8k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  84.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  84.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  84.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  84.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  84.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  84.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  84.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  84.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  84.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  84.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  84.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  84.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  84.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  84.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  84.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  84.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  84.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  84.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  84.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  84.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  84.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  84.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  84.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  84.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  84.8k|        }
  459|  84.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE10check_coreEv:
  383|  84.8k|    static noinline void check_core() noexcept {
  384|  84.8k|        checkU<T>();
  385|  84.8k|        checkU<typename std::add_const<T>::type>();
  386|  84.8k|        {
  387|  84.8k|            TestT t = {};
  388|  84.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  84.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 84.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  84.8k|        }
  391|      0|        {
  392|  84.8k|            const TestT t = {};
  393|  84.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  84.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  84.8k|        }
  396|  84.8k|        {
  397|  84.8k|            constexpr TestT t = {};
  398|  84.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  84.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  84.8k|        }
  401|  84.8k|        {
  402|  84.8k|            TestT t;
  403|  84.8k|            mem_clear(&t);
  404|  84.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  84.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 84.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  84.8k|        }
  407|      0|        {
  408|  84.8k|            T zero, one, three, four;
  409|  84.8k|            zero = 0;
  410|  84.8k|            one = 1;
  411|  84.8k|            three = 3;
  412|  84.8k|            four = 4;
  413|  84.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  84.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  84.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  84.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  84.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  84.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  84.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  84.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  84.8k|        }
  423|  84.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE6checkUIxEEvv:
  339|  84.8k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  84.8k|        static_assert(upx_is_integral<U>::value);
  342|  84.8k|        static_assert(upx_is_integral_v<U>);
  343|  84.8k|#if __cplusplus <= 201703L
  344|  84.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  84.8k|#endif
  346|  84.8k|        static_assert(std::is_standard_layout<U>::value);
  347|  84.8k|#if __cplusplus <= 202302L
  348|  84.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  84.8k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  84.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  84.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  84.8k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  84.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  84.8k|        {
  356|  84.8k|            U a = {};
  357|  84.8k|            const U b = {};
  358|  84.8k|            constexpr U c = {};
  359|  84.8k|            U x[2] = {};
  360|  84.8k|            const U y[2] = {};
  361|  84.8k|            constexpr U z[2] = {};
  362|  84.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  84.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  84.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  84.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 84.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  84.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  84.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  84.8k|#if defined(upx_is_constant_evaluated)
  369|  84.8k|            static_assert(c == 0);
  370|  84.8k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  84.8k|#endif
  372|  84.8k|        }
  373|      0|        {
  374|  84.8k|            TestU<U> t;
  375|  84.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  84.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  84.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  84.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 84.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  84.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 84.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  84.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  84.8k|        }
  382|  84.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE6checkUIKxEEvv:
  339|  84.8k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  84.8k|        static_assert(upx_is_integral<U>::value);
  342|  84.8k|        static_assert(upx_is_integral_v<U>);
  343|  84.8k|#if __cplusplus <= 201703L
  344|  84.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  84.8k|#endif
  346|  84.8k|        static_assert(std::is_standard_layout<U>::value);
  347|  84.8k|#if __cplusplus <= 202302L
  348|  84.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  84.8k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  84.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  84.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  84.8k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  84.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  84.8k|        {
  356|  84.8k|            U a = {};
  357|  84.8k|            const U b = {};
  358|  84.8k|            constexpr U c = {};
  359|  84.8k|            U x[2] = {};
  360|  84.8k|            const U y[2] = {};
  361|  84.8k|            constexpr U z[2] = {};
  362|  84.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  84.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  84.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  84.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  84.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  84.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  84.8k|#if defined(upx_is_constant_evaluated)
  369|  84.8k|            static_assert(c == 0);
  370|  84.8k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  84.8k|#endif
  372|  84.8k|        }
  373|      0|        {
  374|  84.8k|            TestU<U> t;
  375|  84.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  84.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  84.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  84.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 84.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  84.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 84.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 84.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  84.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  84.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 84.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  84.8k|        }
  382|  84.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE5checkEv:
  424|  56.5k|    static noinline void check() noexcept {
  425|  56.5k|        check_core();
  426|  56.5k|        {
  427|  56.5k|            T zero, one, three, four;
  428|  56.5k|            zero = 0;
  429|  56.5k|            one = 1;
  430|  56.5k|            three = 3;
  431|  56.5k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  56.5k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  56.5k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  56.5k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  56.5k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  56.5k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  56.5k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  56.5k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  56.5k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  56.5k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  56.5k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  56.5k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  56.5k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  56.5k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  56.5k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  56.5k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  56.5k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  56.5k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  56.5k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  56.5k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  56.5k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  56.5k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  56.5k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  56.5k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  56.5k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  56.5k|        }
  459|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE10check_coreEv:
  383|  56.5k|    static noinline void check_core() noexcept {
  384|  56.5k|        checkU<T>();
  385|  56.5k|        checkU<typename std::add_const<T>::type>();
  386|  56.5k|        {
  387|  56.5k|            TestT t = {};
  388|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  56.5k|        }
  391|      0|        {
  392|  56.5k|            const TestT t = {};
  393|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  56.5k|        }
  396|  56.5k|        {
  397|  56.5k|            constexpr TestT t = {};
  398|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  56.5k|        }
  401|  56.5k|        {
  402|  56.5k|            TestT t;
  403|  56.5k|            mem_clear(&t);
  404|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  56.5k|        }
  407|      0|        {
  408|  56.5k|            T zero, one, three, four;
  409|  56.5k|            zero = 0;
  410|  56.5k|            one = 1;
  411|  56.5k|            three = 3;
  412|  56.5k|            four = 4;
  413|  56.5k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  56.5k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  56.5k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  56.5k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  56.5k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  56.5k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  56.5k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  56.5k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  56.5k|        }
  423|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE6checkUIyEEvv:
  339|  56.5k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  56.5k|        static_assert(upx_is_integral<U>::value);
  342|  56.5k|        static_assert(upx_is_integral_v<U>);
  343|  56.5k|#if __cplusplus <= 201703L
  344|  56.5k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  56.5k|#endif
  346|  56.5k|        static_assert(std::is_standard_layout<U>::value);
  347|  56.5k|#if __cplusplus <= 202302L
  348|  56.5k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  56.5k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  56.5k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  56.5k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  56.5k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  56.5k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  56.5k|        {
  356|  56.5k|            U a = {};
  357|  56.5k|            const U b = {};
  358|  56.5k|            constexpr U c = {};
  359|  56.5k|            U x[2] = {};
  360|  56.5k|            const U y[2] = {};
  361|  56.5k|            constexpr U z[2] = {};
  362|  56.5k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  56.5k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  56.5k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  56.5k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  56.5k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  56.5k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  56.5k|#if defined(upx_is_constant_evaluated)
  369|  56.5k|            static_assert(c == 0);
  370|  56.5k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  56.5k|#endif
  372|  56.5k|        }
  373|      0|        {
  374|  56.5k|            TestU<U> t;
  375|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  56.5k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  56.5k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  56.5k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  56.5k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  56.5k|        }
  382|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE6checkUIKyEEvv:
  339|  56.5k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  56.5k|        static_assert(upx_is_integral<U>::value);
  342|  56.5k|        static_assert(upx_is_integral_v<U>);
  343|  56.5k|#if __cplusplus <= 201703L
  344|  56.5k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  56.5k|#endif
  346|  56.5k|        static_assert(std::is_standard_layout<U>::value);
  347|  56.5k|#if __cplusplus <= 202302L
  348|  56.5k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  56.5k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  56.5k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  56.5k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  56.5k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  56.5k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  56.5k|        {
  356|  56.5k|            U a = {};
  357|  56.5k|            const U b = {};
  358|  56.5k|            constexpr U c = {};
  359|  56.5k|            U x[2] = {};
  360|  56.5k|            const U y[2] = {};
  361|  56.5k|            constexpr U z[2] = {};
  362|  56.5k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  56.5k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  56.5k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  56.5k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  56.5k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  56.5k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  56.5k|#if defined(upx_is_constant_evaluated)
  369|  56.5k|            static_assert(c == 0);
  370|  56.5k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  56.5k|#endif
  372|  56.5k|        }
  373|      0|        {
  374|  56.5k|            TestU<U> t;
  375|  56.5k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  56.5k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  56.5k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  56.5k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  56.5k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 56.5k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  56.5k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  56.5k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 56.5k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  56.5k|        }
  382|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE5checkEv:
  424|  28.2k|    static noinline void check() noexcept {
  425|  28.2k|        check_core();
  426|  28.2k|        {
  427|  28.2k|            T zero, one, three, four;
  428|  28.2k|            zero = 0;
  429|  28.2k|            one = 1;
  430|  28.2k|            three = 3;
  431|  28.2k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  28.2k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  28.2k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  28.2k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  28.2k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  28.2k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  28.2k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  28.2k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  28.2k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  28.2k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  28.2k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  28.2k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  28.2k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  28.2k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  28.2k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  28.2k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  28.2k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  28.2k|        }
  459|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE10check_coreEv:
  383|  28.2k|    static noinline void check_core() noexcept {
  384|  28.2k|        checkU<T>();
  385|  28.2k|        checkU<typename std::add_const<T>::type>();
  386|  28.2k|        {
  387|  28.2k|            TestT t = {};
  388|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  28.2k|        }
  391|      0|        {
  392|  28.2k|            const TestT t = {};
  393|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  28.2k|        }
  396|  28.2k|        {
  397|  28.2k|            constexpr TestT t = {};
  398|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  28.2k|        }
  401|  28.2k|        {
  402|  28.2k|            TestT t;
  403|  28.2k|            mem_clear(&t);
  404|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  28.2k|        }
  407|      0|        {
  408|  28.2k|            T zero, one, three, four;
  409|  28.2k|            zero = 0;
  410|  28.2k|            one = 1;
  411|  28.2k|            three = 3;
  412|  28.2k|            four = 4;
  413|  28.2k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  28.2k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  28.2k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  28.2k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  28.2k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  28.2k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  28.2k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  28.2k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  28.2k|        }
  423|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE6checkUInEEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  28.2k|#if defined(upx_is_constant_evaluated)
  369|  28.2k|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE6checkUIKnEEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  28.2k|#if defined(upx_is_constant_evaluated)
  369|  28.2k|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE5checkEv:
  424|  28.2k|    static noinline void check() noexcept {
  425|  28.2k|        check_core();
  426|  28.2k|        {
  427|  28.2k|            T zero, one, three, four;
  428|  28.2k|            zero = 0;
  429|  28.2k|            one = 1;
  430|  28.2k|            three = 3;
  431|  28.2k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  28.2k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  28.2k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  28.2k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  28.2k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  28.2k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  28.2k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  28.2k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  28.2k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  28.2k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  28.2k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  28.2k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  28.2k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  28.2k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  28.2k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  28.2k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  28.2k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  28.2k|        }
  459|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE10check_coreEv:
  383|  28.2k|    static noinline void check_core() noexcept {
  384|  28.2k|        checkU<T>();
  385|  28.2k|        checkU<typename std::add_const<T>::type>();
  386|  28.2k|        {
  387|  28.2k|            TestT t = {};
  388|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  28.2k|        }
  391|      0|        {
  392|  28.2k|            const TestT t = {};
  393|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  28.2k|        }
  396|  28.2k|        {
  397|  28.2k|            constexpr TestT t = {};
  398|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  28.2k|        }
  401|  28.2k|        {
  402|  28.2k|            TestT t;
  403|  28.2k|            mem_clear(&t);
  404|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  28.2k|        }
  407|      0|        {
  408|  28.2k|            T zero, one, three, four;
  409|  28.2k|            zero = 0;
  410|  28.2k|            one = 1;
  411|  28.2k|            three = 3;
  412|  28.2k|            four = 4;
  413|  28.2k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  28.2k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  28.2k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  28.2k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  28.2k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  28.2k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  28.2k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  28.2k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  28.2k|        }
  423|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE6checkUIoEEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  28.2k|#if defined(upx_is_constant_evaluated)
  369|  28.2k|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE6checkUIKoEEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|  28.2k|#if defined(upx_is_constant_evaluated)
  369|  28.2k|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE5checkEv:
  681|  28.2k|    static noinline void check() noexcept {
  682|  28.2k|        checkU<T, T_is_signed>();
  683|  28.2k|        using signed_type = std::make_signed_t<T>;
  684|  28.2k|        checkU<signed_type, true>();
  685|  28.2k|        using unsigned_type = std::make_unsigned_t<T>;
  686|  28.2k|        checkU<unsigned_type, false>();
  687|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE6checkUIcLb0EEEvv:
  671|  28.2k|    static inline void checkU() noexcept {
  672|  28.2k|        static_assert(std::is_integral_v<U>);
  673|  28.2k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  28.2k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  28.2k|        static_assert(sizeof(U) == sizeof(T));
  676|  28.2k|        static_assert(alignof(U) == alignof(T));
  677|  28.2k|        constexpr U all_bits = U(U(0) - U(1));
  678|  28.2k|        static_assert(all_bits == U(~U(0)));
  679|  28.2k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE6checkUIaLb1EEEvv:
  671|  28.2k|    static inline void checkU() noexcept {
  672|  28.2k|        static_assert(std::is_integral_v<U>);
  673|  28.2k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  28.2k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  28.2k|        static_assert(sizeof(U) == sizeof(T));
  676|  28.2k|        static_assert(alignof(U) == alignof(T));
  677|  28.2k|        constexpr U all_bits = U(U(0) - U(1));
  678|  28.2k|        static_assert(all_bits == U(~U(0)));
  679|  28.2k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE6checkUIhLb0EEEvv:
  671|  28.2k|    static inline void checkU() noexcept {
  672|  28.2k|        static_assert(std::is_integral_v<U>);
  673|  28.2k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  28.2k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  28.2k|        static_assert(sizeof(U) == sizeof(T));
  676|  28.2k|        static_assert(alignof(U) == alignof(T));
  677|  28.2k|        constexpr U all_bits = U(U(0) - U(1));
  678|  28.2k|        static_assert(all_bits == U(~U(0)));
  679|  28.2k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIaLb1EE5checkEv:
  681|  56.5k|    static noinline void check() noexcept {
  682|  56.5k|        checkU<T, T_is_signed>();
  683|  56.5k|        using signed_type = std::make_signed_t<T>;
  684|  56.5k|        checkU<signed_type, true>();
  685|  56.5k|        using unsigned_type = std::make_unsigned_t<T>;
  686|  56.5k|        checkU<unsigned_type, false>();
  687|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIaLb1EE6checkUIaLb1EEEvv:
  671|   113k|    static inline void checkU() noexcept {
  672|   113k|        static_assert(std::is_integral_v<U>);
  673|   113k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|   113k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|   113k|        static_assert(sizeof(U) == sizeof(T));
  676|   113k|        static_assert(alignof(U) == alignof(T));
  677|   113k|        constexpr U all_bits = U(U(0) - U(1));
  678|   113k|        static_assert(all_bits == U(~U(0)));
  679|   113k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|   113k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIaLb1EE6checkUIhLb0EEEvv:
  671|  56.5k|    static inline void checkU() noexcept {
  672|  56.5k|        static_assert(std::is_integral_v<U>);
  673|  56.5k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  56.5k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  56.5k|        static_assert(sizeof(U) == sizeof(T));
  676|  56.5k|        static_assert(alignof(U) == alignof(T));
  677|  56.5k|        constexpr U all_bits = U(U(0) - U(1));
  678|  56.5k|        static_assert(all_bits == U(~U(0)));
  679|  56.5k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIhLb0EE5checkEv:
  681|  56.5k|    static noinline void check() noexcept {
  682|  56.5k|        checkU<T, T_is_signed>();
  683|  56.5k|        using signed_type = std::make_signed_t<T>;
  684|  56.5k|        checkU<signed_type, true>();
  685|  56.5k|        using unsigned_type = std::make_unsigned_t<T>;
  686|  56.5k|        checkU<unsigned_type, false>();
  687|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIhLb0EE6checkUIhLb0EEEvv:
  671|   113k|    static inline void checkU() noexcept {
  672|   113k|        static_assert(std::is_integral_v<U>);
  673|   113k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|   113k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|   113k|        static_assert(sizeof(U) == sizeof(T));
  676|   113k|        static_assert(alignof(U) == alignof(T));
  677|   113k|        constexpr U all_bits = U(U(0) - U(1));
  678|   113k|        static_assert(all_bits == U(~U(0)));
  679|   113k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|   113k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIhLb0EE6checkUIaLb1EEEvv:
  671|  56.5k|    static inline void checkU() noexcept {
  672|  56.5k|        static_assert(std::is_integral_v<U>);
  673|  56.5k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  56.5k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  56.5k|        static_assert(sizeof(U) == sizeof(T));
  676|  56.5k|        static_assert(alignof(U) == alignof(T));
  677|  56.5k|        constexpr U all_bits = U(U(0) - U(1));
  678|  56.5k|        static_assert(all_bits == U(~U(0)));
  679|  56.5k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIsLb1EE5checkEv:
  681|  56.5k|    static noinline void check() noexcept {
  682|  56.5k|        checkU<T, T_is_signed>();
  683|  56.5k|        using signed_type = std::make_signed_t<T>;
  684|  56.5k|        checkU<signed_type, true>();
  685|  56.5k|        using unsigned_type = std::make_unsigned_t<T>;
  686|  56.5k|        checkU<unsigned_type, false>();
  687|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIsLb1EE6checkUIsLb1EEEvv:
  671|   113k|    static inline void checkU() noexcept {
  672|   113k|        static_assert(std::is_integral_v<U>);
  673|   113k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|   113k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|   113k|        static_assert(sizeof(U) == sizeof(T));
  676|   113k|        static_assert(alignof(U) == alignof(T));
  677|   113k|        constexpr U all_bits = U(U(0) - U(1));
  678|   113k|        static_assert(all_bits == U(~U(0)));
  679|   113k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|   113k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIsLb1EE6checkUItLb0EEEvv:
  671|  56.5k|    static inline void checkU() noexcept {
  672|  56.5k|        static_assert(std::is_integral_v<U>);
  673|  56.5k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  56.5k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  56.5k|        static_assert(sizeof(U) == sizeof(T));
  676|  56.5k|        static_assert(alignof(U) == alignof(T));
  677|  56.5k|        constexpr U all_bits = U(U(0) - U(1));
  678|  56.5k|        static_assert(all_bits == U(~U(0)));
  679|  56.5k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessItLb0EE5checkEv:
  681|  56.5k|    static noinline void check() noexcept {
  682|  56.5k|        checkU<T, T_is_signed>();
  683|  56.5k|        using signed_type = std::make_signed_t<T>;
  684|  56.5k|        checkU<signed_type, true>();
  685|  56.5k|        using unsigned_type = std::make_unsigned_t<T>;
  686|  56.5k|        checkU<unsigned_type, false>();
  687|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessItLb0EE6checkUItLb0EEEvv:
  671|   113k|    static inline void checkU() noexcept {
  672|   113k|        static_assert(std::is_integral_v<U>);
  673|   113k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|   113k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|   113k|        static_assert(sizeof(U) == sizeof(T));
  676|   113k|        static_assert(alignof(U) == alignof(T));
  677|   113k|        constexpr U all_bits = U(U(0) - U(1));
  678|   113k|        static_assert(all_bits == U(~U(0)));
  679|   113k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|   113k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessItLb0EE6checkUIsLb1EEEvv:
  671|  56.5k|    static inline void checkU() noexcept {
  672|  56.5k|        static_assert(std::is_integral_v<U>);
  673|  56.5k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  56.5k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  56.5k|        static_assert(sizeof(U) == sizeof(T));
  676|  56.5k|        static_assert(alignof(U) == alignof(T));
  677|  56.5k|        constexpr U all_bits = U(U(0) - U(1));
  678|  56.5k|        static_assert(all_bits == U(~U(0)));
  679|  56.5k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIiLb1EE5checkEv:
  681|  56.5k|    static noinline void check() noexcept {
  682|  56.5k|        checkU<T, T_is_signed>();
  683|  56.5k|        using signed_type = std::make_signed_t<T>;
  684|  56.5k|        checkU<signed_type, true>();
  685|  56.5k|        using unsigned_type = std::make_unsigned_t<T>;
  686|  56.5k|        checkU<unsigned_type, false>();
  687|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIiLb1EE6checkUIiLb1EEEvv:
  671|   113k|    static inline void checkU() noexcept {
  672|   113k|        static_assert(std::is_integral_v<U>);
  673|   113k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|   113k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|   113k|        static_assert(sizeof(U) == sizeof(T));
  676|   113k|        static_assert(alignof(U) == alignof(T));
  677|   113k|        constexpr U all_bits = U(U(0) - U(1));
  678|   113k|        static_assert(all_bits == U(~U(0)));
  679|   113k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|   113k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIiLb1EE6checkUIjLb0EEEvv:
  671|  56.5k|    static inline void checkU() noexcept {
  672|  56.5k|        static_assert(std::is_integral_v<U>);
  673|  56.5k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  56.5k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  56.5k|        static_assert(sizeof(U) == sizeof(T));
  676|  56.5k|        static_assert(alignof(U) == alignof(T));
  677|  56.5k|        constexpr U all_bits = U(U(0) - U(1));
  678|  56.5k|        static_assert(all_bits == U(~U(0)));
  679|  56.5k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIjLb0EE5checkEv:
  681|  56.5k|    static noinline void check() noexcept {
  682|  56.5k|        checkU<T, T_is_signed>();
  683|  56.5k|        using signed_type = std::make_signed_t<T>;
  684|  56.5k|        checkU<signed_type, true>();
  685|  56.5k|        using unsigned_type = std::make_unsigned_t<T>;
  686|  56.5k|        checkU<unsigned_type, false>();
  687|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIjLb0EE6checkUIjLb0EEEvv:
  671|   113k|    static inline void checkU() noexcept {
  672|   113k|        static_assert(std::is_integral_v<U>);
  673|   113k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|   113k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|   113k|        static_assert(sizeof(U) == sizeof(T));
  676|   113k|        static_assert(alignof(U) == alignof(T));
  677|   113k|        constexpr U all_bits = U(U(0) - U(1));
  678|   113k|        static_assert(all_bits == U(~U(0)));
  679|   113k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|   113k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIjLb0EE6checkUIiLb1EEEvv:
  671|  56.5k|    static inline void checkU() noexcept {
  672|  56.5k|        static_assert(std::is_integral_v<U>);
  673|  56.5k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  56.5k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  56.5k|        static_assert(sizeof(U) == sizeof(T));
  676|  56.5k|        static_assert(alignof(U) == alignof(T));
  677|  56.5k|        constexpr U all_bits = U(U(0) - U(1));
  678|  56.5k|        static_assert(all_bits == U(~U(0)));
  679|  56.5k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIlLb1EE5checkEv:
  681|   141k|    static noinline void check() noexcept {
  682|   141k|        checkU<T, T_is_signed>();
  683|   141k|        using signed_type = std::make_signed_t<T>;
  684|   141k|        checkU<signed_type, true>();
  685|   141k|        using unsigned_type = std::make_unsigned_t<T>;
  686|   141k|        checkU<unsigned_type, false>();
  687|   141k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIlLb1EE6checkUIlLb1EEEvv:
  671|   282k|    static inline void checkU() noexcept {
  672|   282k|        static_assert(std::is_integral_v<U>);
  673|   282k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|   282k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|   282k|        static_assert(sizeof(U) == sizeof(T));
  676|   282k|        static_assert(alignof(U) == alignof(T));
  677|   282k|        constexpr U all_bits = U(U(0) - U(1));
  678|   282k|        static_assert(all_bits == U(~U(0)));
  679|   282k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|   282k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIlLb1EE6checkUImLb0EEEvv:
  671|   141k|    static inline void checkU() noexcept {
  672|   141k|        static_assert(std::is_integral_v<U>);
  673|   141k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|   141k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|   141k|        static_assert(sizeof(U) == sizeof(T));
  676|   141k|        static_assert(alignof(U) == alignof(T));
  677|   141k|        constexpr U all_bits = U(U(0) - U(1));
  678|   141k|        static_assert(all_bits == U(~U(0)));
  679|   141k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|   141k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessImLb0EE5checkEv:
  681|   198k|    static noinline void check() noexcept {
  682|   198k|        checkU<T, T_is_signed>();
  683|   198k|        using signed_type = std::make_signed_t<T>;
  684|   198k|        checkU<signed_type, true>();
  685|   198k|        using unsigned_type = std::make_unsigned_t<T>;
  686|   198k|        checkU<unsigned_type, false>();
  687|   198k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessImLb0EE6checkUImLb0EEEvv:
  671|   396k|    static inline void checkU() noexcept {
  672|   396k|        static_assert(std::is_integral_v<U>);
  673|   396k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|   396k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|   396k|        static_assert(sizeof(U) == sizeof(T));
  676|   396k|        static_assert(alignof(U) == alignof(T));
  677|   396k|        constexpr U all_bits = U(U(0) - U(1));
  678|   396k|        static_assert(all_bits == U(~U(0)));
  679|   396k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|   396k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessImLb0EE6checkUIlLb1EEEvv:
  671|   198k|    static inline void checkU() noexcept {
  672|   198k|        static_assert(std::is_integral_v<U>);
  673|   198k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|   198k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|   198k|        static_assert(sizeof(U) == sizeof(T));
  676|   198k|        static_assert(alignof(U) == alignof(T));
  677|   198k|        constexpr U all_bits = U(U(0) - U(1));
  678|   198k|        static_assert(all_bits == U(~U(0)));
  679|   198k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|   198k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIxLb1EE5checkEv:
  681|  84.8k|    static noinline void check() noexcept {
  682|  84.8k|        checkU<T, T_is_signed>();
  683|  84.8k|        using signed_type = std::make_signed_t<T>;
  684|  84.8k|        checkU<signed_type, true>();
  685|  84.8k|        using unsigned_type = std::make_unsigned_t<T>;
  686|  84.8k|        checkU<unsigned_type, false>();
  687|  84.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIxLb1EE6checkUIxLb1EEEvv:
  671|   169k|    static inline void checkU() noexcept {
  672|   169k|        static_assert(std::is_integral_v<U>);
  673|   169k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|   169k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|   169k|        static_assert(sizeof(U) == sizeof(T));
  676|   169k|        static_assert(alignof(U) == alignof(T));
  677|   169k|        constexpr U all_bits = U(U(0) - U(1));
  678|   169k|        static_assert(all_bits == U(~U(0)));
  679|   169k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|   169k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIxLb1EE6checkUIyLb0EEEvv:
  671|  84.8k|    static inline void checkU() noexcept {
  672|  84.8k|        static_assert(std::is_integral_v<U>);
  673|  84.8k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  84.8k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  84.8k|        static_assert(sizeof(U) == sizeof(T));
  676|  84.8k|        static_assert(alignof(U) == alignof(T));
  677|  84.8k|        constexpr U all_bits = U(U(0) - U(1));
  678|  84.8k|        static_assert(all_bits == U(~U(0)));
  679|  84.8k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  84.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIyLb0EE5checkEv:
  681|  56.5k|    static noinline void check() noexcept {
  682|  56.5k|        checkU<T, T_is_signed>();
  683|  56.5k|        using signed_type = std::make_signed_t<T>;
  684|  56.5k|        checkU<signed_type, true>();
  685|  56.5k|        using unsigned_type = std::make_unsigned_t<T>;
  686|  56.5k|        checkU<unsigned_type, false>();
  687|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIyLb0EE6checkUIyLb0EEEvv:
  671|   113k|    static inline void checkU() noexcept {
  672|   113k|        static_assert(std::is_integral_v<U>);
  673|   113k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|   113k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|   113k|        static_assert(sizeof(U) == sizeof(T));
  676|   113k|        static_assert(alignof(U) == alignof(T));
  677|   113k|        constexpr U all_bits = U(U(0) - U(1));
  678|   113k|        static_assert(all_bits == U(~U(0)));
  679|   113k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|   113k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIyLb0EE6checkUIxLb1EEEvv:
  671|  56.5k|    static inline void checkU() noexcept {
  672|  56.5k|        static_assert(std::is_integral_v<U>);
  673|  56.5k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  56.5k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  56.5k|        static_assert(sizeof(U) == sizeof(T));
  676|  56.5k|        static_assert(alignof(U) == alignof(T));
  677|  56.5k|        constexpr U all_bits = U(U(0) - U(1));
  678|  56.5k|        static_assert(all_bits == U(~U(0)));
  679|  56.5k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessInLb1EE5checkEv:
  681|  28.2k|    static noinline void check() noexcept {
  682|  28.2k|        checkU<T, T_is_signed>();
  683|  28.2k|        using signed_type = std::make_signed_t<T>;
  684|  28.2k|        checkU<signed_type, true>();
  685|  28.2k|        using unsigned_type = std::make_unsigned_t<T>;
  686|  28.2k|        checkU<unsigned_type, false>();
  687|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessInLb1EE6checkUInLb1EEEvv:
  671|  56.5k|    static inline void checkU() noexcept {
  672|  56.5k|        static_assert(std::is_integral_v<U>);
  673|  56.5k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  56.5k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  56.5k|        static_assert(sizeof(U) == sizeof(T));
  676|  56.5k|        static_assert(alignof(U) == alignof(T));
  677|  56.5k|        constexpr U all_bits = U(U(0) - U(1));
  678|  56.5k|        static_assert(all_bits == U(~U(0)));
  679|  56.5k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessInLb1EE6checkUIoLb0EEEvv:
  671|  28.2k|    static inline void checkU() noexcept {
  672|  28.2k|        static_assert(std::is_integral_v<U>);
  673|  28.2k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  28.2k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  28.2k|        static_assert(sizeof(U) == sizeof(T));
  676|  28.2k|        static_assert(alignof(U) == alignof(T));
  677|  28.2k|        constexpr U all_bits = U(U(0) - U(1));
  678|  28.2k|        static_assert(all_bits == U(~U(0)));
  679|  28.2k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIoLb0EE5checkEv:
  681|  28.2k|    static noinline void check() noexcept {
  682|  28.2k|        checkU<T, T_is_signed>();
  683|  28.2k|        using signed_type = std::make_signed_t<T>;
  684|  28.2k|        checkU<signed_type, true>();
  685|  28.2k|        using unsigned_type = std::make_unsigned_t<T>;
  686|  28.2k|        checkU<unsigned_type, false>();
  687|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIoLb0EE6checkUIoLb0EEEvv:
  671|  56.5k|    static inline void checkU() noexcept {
  672|  56.5k|        static_assert(std::is_integral_v<U>);
  673|  56.5k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  56.5k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  56.5k|        static_assert(sizeof(U) == sizeof(T));
  676|  56.5k|        static_assert(alignof(U) == alignof(T));
  677|  56.5k|        constexpr U all_bits = U(U(0) - U(1));
  678|  56.5k|        static_assert(all_bits == U(~U(0)));
  679|  56.5k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  56.5k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIoLb0EE6checkUInLb1EEEvv:
  671|  28.2k|    static inline void checkU() noexcept {
  672|  28.2k|        static_assert(std::is_integral_v<U>);
  673|  28.2k|        static_assert(std::is_signed_v<U> == U_is_signed);
  674|  28.2k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  675|  28.2k|        static_assert(sizeof(U) == sizeof(T));
  676|  28.2k|        static_assert(alignof(U) == alignof(T));
  677|  28.2k|        constexpr U all_bits = U(U(0) - U(1));
  678|  28.2k|        static_assert(all_bits == U(~U(0)));
  679|  28.2k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  680|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIahE5checkEv:
  704|  56.5k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIstE5checkEv:
  704|  56.5k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIijE5checkEv:
  704|  56.5k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIlmE5checkEv:
  704|   198k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIxyE5checkEv:
  704|  56.5k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairInoE5checkEv:
  704|  28.2k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4LE16E4testEv:
  492|  28.2k|    static noinline bool test() noexcept {
  493|  28.2k|        CheckIntegral<T>::check();
  494|  28.2k|        CheckAlignment<T>::check();
  495|       |        // arithmetic checks
  496|  28.2k|        {
  497|  28.2k|            T all_bits = {}; // == zero
  498|  28.2k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  499|  28.2k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  500|      0|            all_bits += 1;
  501|  28.2k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  502|      0|            all_bits -= 2;
  503|  28.2k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  504|      0|            T v1;
  505|  28.2k|            v1 = 1;
  506|  28.2k|            v1 *= 4;
  507|  28.2k|            v1 /= 2;
  508|  28.2k|            v1 -= 1;
  509|  28.2k|            T v2;
  510|  28.2k|            v2 = 1;
  511|  28.2k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  512|  28.2k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  513|  28.2k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  514|  28.2k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  515|  28.2k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  516|  28.2k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            v2 ^= all_bits;
  518|  28.2k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|  28.2k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  520|  28.2k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|  28.2k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  522|  28.2k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|  28.2k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  524|      0|            v2 += 2;
  525|  28.2k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  526|  28.2k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  527|      0|            v1 <<= 1;
  528|  28.2k|            v1 |= v2;
  529|  28.2k|            v1 >>= 1;
  530|  28.2k|            v2 &= v1;
  531|  28.2k|            v2 /= v1;
  532|  28.2k|            v2 *= v1;
  533|  28.2k|            v1 += v2;
  534|  28.2k|            v1 -= v2;
  535|  28.2k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|  28.2k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  537|  28.2k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (537:17): [True: 0, False: 28.2k]
  ------------------
  538|      0|                return false;
  539|  28.2k|        }
  540|       |        // min/max
  541|  28.2k|        {
  542|  28.2k|            constexpr T a = {}; // == zero
  543|  28.2k|            typedef typename T::integral_conversion_type U;
  544|  28.2k|            constexpr U b = 1;
  545|  28.2k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  28.2k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  28.2k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  28.2k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  28.2k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  28.2k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|  28.2k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  552|  28.2k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  28.2k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  28.2k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  28.2k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  28.2k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  28.2k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|  28.2k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  559|  28.2k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  28.2k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|  28.2k|            T minus_one_t = {}, minus_two_t = {};
  562|  28.2k|            minus_one_t -= 1;
  563|  28.2k|            minus_two_t -= 2;
  564|  28.2k|            const U minus_one_u = minus_one_t;
  565|  28.2k|            const U minus_two_u = minus_two_t;
  566|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  567|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  569|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  573|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|  28.2k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  575|  28.2k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  576|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  577|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  578|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  579|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  28.2k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  28.2k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  596|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  597|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  598|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  599|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  600|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  28.2k|        }
  603|       |        // constexpr
  604|      0|        {
  605|  28.2k|            constexpr T zero = {};
  606|  28.2k|            constexpr T zero_copy = T::make(zero);
  607|  28.2k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  28.2k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|      0|#if defined(upx_is_constant_evaluated)
  610|      0|            static_assert(zero_copy == 0);
  611|  28.2k|            static_assert(zero_copy == zero);
  612|  28.2k|            static_assert(!upx::has_single_bit(zero));
  613|  28.2k|            static_assert(!upx::has_single_bit(zero_copy));
  614|  28.2k|#endif
  615|  28.2k|        }
  616|      0|#if defined(upx_is_constant_evaluated)
  617|      0|        {
  618|  28.2k|            typedef typename T::integral_conversion_type U;
  619|  28.2k|            constexpr T one = T::make(1);
  620|  28.2k|            static_assert(one == 1);
  621|  28.2k|            static_assert(upx::has_single_bit(one));
  622|  28.2k|            constexpr T four = T::make(one + 3);
  623|  28.2k|            static_assert(four == 4);
  624|  28.2k|            static_assert(upx::has_single_bit(four));
  625|  28.2k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  626|  28.2k|            constexpr T all_bits = T::make(all_bits_u);
  627|  28.2k|            static_assert(all_bits == all_bits_u);
  628|  28.2k|            static_assert(all_bits == T::make(one - 2));
  629|  28.2k|            static_assert(!upx::has_single_bit(all_bits));
  630|  28.2k|            static_assert(one == one);
  631|  28.2k|            static_assert(!(one == four));
  632|  28.2k|            static_assert(!(one == all_bits));
  633|  28.2k|            static_assert(one < four);
  634|  28.2k|            static_assert(one < all_bits);
  635|  28.2k|            static_assert(upx::min(one, four) == 1);
  636|  28.2k|            static_assert(upx::min(one, four) == one);
  637|  28.2k|            static_assert(upx::min(U(1), four) == 1);
  638|  28.2k|            static_assert(upx::min(one, U(4)) == 1);
  639|  28.2k|            static_assert(upx::max(one, four) == 4);
  640|  28.2k|            static_assert(upx::max(one, four) == four);
  641|  28.2k|            static_assert(upx::max(U(1), four) == 4);
  642|  28.2k|            static_assert(upx::max(one, U(4)) == 4);
  643|  28.2k|            static_assert(upx::align_down(one, four) == 0);
  644|  28.2k|            static_assert(upx::align_up(one, four) == 4);
  645|  28.2k|            static_assert(upx::align_up(one, four) == four);
  646|  28.2k|            static_assert(upx::align_up_gap(one, four) == 3);
  647|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  648|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  649|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  650|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  651|  28.2k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  652|  28.2k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  653|  28.2k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  654|  28.2k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  655|  28.2k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  656|  28.2k|            constexpr T one_copy = T::make(one);
  657|  28.2k|            static_assert(one_copy == one);
  658|  28.2k|            static_assert(one_copy == 1);
  659|  28.2k|        }
  660|  28.2k|#endif
  661|  28.2k|        return true;
  662|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E5checkEv:
  424|  28.2k|    static noinline void check() noexcept {
  425|  28.2k|        check_core();
  426|  28.2k|        {
  427|  28.2k|            T zero, one, three, four;
  428|  28.2k|            zero = 0;
  429|  28.2k|            one = 1;
  430|  28.2k|            three = 3;
  431|  28.2k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  28.2k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  28.2k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  28.2k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  28.2k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  28.2k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  28.2k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  28.2k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  28.2k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  28.2k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  28.2k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  28.2k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  28.2k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  28.2k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  28.2k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  28.2k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  28.2k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  28.2k|        }
  459|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E10check_coreEv:
  383|  28.2k|    static noinline void check_core() noexcept {
  384|  28.2k|        checkU<T>();
  385|  28.2k|        checkU<typename std::add_const<T>::type>();
  386|  28.2k|        {
  387|  28.2k|            TestT t = {};
  388|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  28.2k|        }
  391|      0|        {
  392|  28.2k|            const TestT t = {};
  393|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  28.2k|        }
  396|      0|        {
  397|  28.2k|            constexpr TestT t = {};
  398|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  28.2k|        }
  401|      0|        {
  402|  28.2k|            TestT t;
  403|  28.2k|            mem_clear(&t);
  404|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  28.2k|        }
  407|      0|        {
  408|  28.2k|            T zero, one, three, four;
  409|  28.2k|            zero = 0;
  410|  28.2k|            one = 1;
  411|  28.2k|            three = 3;
  412|  28.2k|            four = 4;
  413|  28.2k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  28.2k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  28.2k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  28.2k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  28.2k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  28.2k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  28.2k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  28.2k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  28.2k|        }
  423|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E6checkUIS1_EEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|      0|#if defined(upx_is_constant_evaluated)
  369|      0|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E6checkUIKS1_EEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|      0|#if defined(upx_is_constant_evaluated)
  369|      0|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4LE16E5checkEv:
  464|  28.2k|    static noinline void check() noexcept {
  465|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  466|  28.2k|        struct alignas(1) Test1 {
  467|  28.2k|            char a;
  468|  28.2k|            T b;
  469|  28.2k|        };
  470|  28.2k|        struct alignas(1) Test2 {
  471|  28.2k|            char a;
  472|  28.2k|            T b[3];
  473|  28.2k|        };
  474|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  475|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  476|  28.2k|        Test1 t1[7];
  477|  28.2k|        Test2 t2[7];
  478|  28.2k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  479|  28.2k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  480|  28.2k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  481|  28.2k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  482|  28.2k|        UNUSED(t1);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  483|  28.2k|        UNUSED(t2);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  484|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4LE32E4testEv:
  492|  28.2k|    static noinline bool test() noexcept {
  493|  28.2k|        CheckIntegral<T>::check();
  494|  28.2k|        CheckAlignment<T>::check();
  495|       |        // arithmetic checks
  496|  28.2k|        {
  497|  28.2k|            T all_bits = {}; // == zero
  498|  28.2k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  499|  28.2k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  500|      0|            all_bits += 1;
  501|  28.2k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  502|      0|            all_bits -= 2;
  503|  28.2k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  504|      0|            T v1;
  505|  28.2k|            v1 = 1;
  506|  28.2k|            v1 *= 4;
  507|  28.2k|            v1 /= 2;
  508|  28.2k|            v1 -= 1;
  509|  28.2k|            T v2;
  510|  28.2k|            v2 = 1;
  511|  28.2k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  512|  28.2k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  513|  28.2k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  514|  28.2k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  515|  28.2k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  516|  28.2k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            v2 ^= all_bits;
  518|  28.2k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|  28.2k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  520|  28.2k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|  28.2k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  522|  28.2k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|  28.2k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  524|      0|            v2 += 2;
  525|  28.2k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  526|  28.2k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  527|      0|            v1 <<= 1;
  528|  28.2k|            v1 |= v2;
  529|  28.2k|            v1 >>= 1;
  530|  28.2k|            v2 &= v1;
  531|  28.2k|            v2 /= v1;
  532|  28.2k|            v2 *= v1;
  533|  28.2k|            v1 += v2;
  534|  28.2k|            v1 -= v2;
  535|  28.2k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|  28.2k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  537|  28.2k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (537:17): [True: 0, False: 28.2k]
  ------------------
  538|      0|                return false;
  539|  28.2k|        }
  540|       |        // min/max
  541|  28.2k|        {
  542|  28.2k|            constexpr T a = {}; // == zero
  543|  28.2k|            typedef typename T::integral_conversion_type U;
  544|  28.2k|            constexpr U b = 1;
  545|  28.2k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  28.2k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  28.2k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  28.2k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  28.2k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  28.2k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|  28.2k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  552|  28.2k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  28.2k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  28.2k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  28.2k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  28.2k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  28.2k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|  28.2k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  559|  28.2k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  28.2k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|  28.2k|            T minus_one_t = {}, minus_two_t = {};
  562|  28.2k|            minus_one_t -= 1;
  563|  28.2k|            minus_two_t -= 2;
  564|  28.2k|            const U minus_one_u = minus_one_t;
  565|  28.2k|            const U minus_two_u = minus_two_t;
  566|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  567|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  569|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  573|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|  28.2k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  575|  28.2k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  576|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  577|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  578|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  579|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  28.2k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  28.2k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  596|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  597|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  598|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  599|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  600|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  28.2k|        }
  603|       |        // constexpr
  604|      0|        {
  605|  28.2k|            constexpr T zero = {};
  606|  28.2k|            constexpr T zero_copy = T::make(zero);
  607|  28.2k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  28.2k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|      0|#if defined(upx_is_constant_evaluated)
  610|      0|            static_assert(zero_copy == 0);
  611|  28.2k|            static_assert(zero_copy == zero);
  612|  28.2k|            static_assert(!upx::has_single_bit(zero));
  613|  28.2k|            static_assert(!upx::has_single_bit(zero_copy));
  614|  28.2k|#endif
  615|  28.2k|        }
  616|      0|#if defined(upx_is_constant_evaluated)
  617|      0|        {
  618|  28.2k|            typedef typename T::integral_conversion_type U;
  619|  28.2k|            constexpr T one = T::make(1);
  620|  28.2k|            static_assert(one == 1);
  621|  28.2k|            static_assert(upx::has_single_bit(one));
  622|  28.2k|            constexpr T four = T::make(one + 3);
  623|  28.2k|            static_assert(four == 4);
  624|  28.2k|            static_assert(upx::has_single_bit(four));
  625|  28.2k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  626|  28.2k|            constexpr T all_bits = T::make(all_bits_u);
  627|  28.2k|            static_assert(all_bits == all_bits_u);
  628|  28.2k|            static_assert(all_bits == T::make(one - 2));
  629|  28.2k|            static_assert(!upx::has_single_bit(all_bits));
  630|  28.2k|            static_assert(one == one);
  631|  28.2k|            static_assert(!(one == four));
  632|  28.2k|            static_assert(!(one == all_bits));
  633|  28.2k|            static_assert(one < four);
  634|  28.2k|            static_assert(one < all_bits);
  635|  28.2k|            static_assert(upx::min(one, four) == 1);
  636|  28.2k|            static_assert(upx::min(one, four) == one);
  637|  28.2k|            static_assert(upx::min(U(1), four) == 1);
  638|  28.2k|            static_assert(upx::min(one, U(4)) == 1);
  639|  28.2k|            static_assert(upx::max(one, four) == 4);
  640|  28.2k|            static_assert(upx::max(one, four) == four);
  641|  28.2k|            static_assert(upx::max(U(1), four) == 4);
  642|  28.2k|            static_assert(upx::max(one, U(4)) == 4);
  643|  28.2k|            static_assert(upx::align_down(one, four) == 0);
  644|  28.2k|            static_assert(upx::align_up(one, four) == 4);
  645|  28.2k|            static_assert(upx::align_up(one, four) == four);
  646|  28.2k|            static_assert(upx::align_up_gap(one, four) == 3);
  647|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  648|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  649|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  650|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  651|  28.2k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  652|  28.2k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  653|  28.2k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  654|  28.2k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  655|  28.2k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  656|  28.2k|            constexpr T one_copy = T::make(one);
  657|  28.2k|            static_assert(one_copy == one);
  658|  28.2k|            static_assert(one_copy == 1);
  659|  28.2k|        }
  660|  28.2k|#endif
  661|  28.2k|        return true;
  662|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E5checkEv:
  424|  28.2k|    static noinline void check() noexcept {
  425|  28.2k|        check_core();
  426|  28.2k|        {
  427|  28.2k|            T zero, one, three, four;
  428|  28.2k|            zero = 0;
  429|  28.2k|            one = 1;
  430|  28.2k|            three = 3;
  431|  28.2k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  28.2k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  28.2k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  28.2k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  28.2k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  28.2k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  28.2k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  28.2k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  28.2k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  28.2k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  28.2k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  28.2k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  28.2k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  28.2k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  28.2k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  28.2k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  28.2k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  28.2k|        }
  459|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E10check_coreEv:
  383|  28.2k|    static noinline void check_core() noexcept {
  384|  28.2k|        checkU<T>();
  385|  28.2k|        checkU<typename std::add_const<T>::type>();
  386|  28.2k|        {
  387|  28.2k|            TestT t = {};
  388|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  28.2k|        }
  391|      0|        {
  392|  28.2k|            const TestT t = {};
  393|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  28.2k|        }
  396|      0|        {
  397|  28.2k|            constexpr TestT t = {};
  398|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  28.2k|        }
  401|      0|        {
  402|  28.2k|            TestT t;
  403|  28.2k|            mem_clear(&t);
  404|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  28.2k|        }
  407|      0|        {
  408|  28.2k|            T zero, one, three, four;
  409|  28.2k|            zero = 0;
  410|  28.2k|            one = 1;
  411|  28.2k|            three = 3;
  412|  28.2k|            four = 4;
  413|  28.2k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  28.2k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  28.2k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  28.2k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  28.2k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  28.2k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  28.2k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  28.2k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  28.2k|        }
  423|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E6checkUIS1_EEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|      0|#if defined(upx_is_constant_evaluated)
  369|      0|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E6checkUIKS1_EEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|      0|#if defined(upx_is_constant_evaluated)
  369|      0|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4LE32E5checkEv:
  464|  28.2k|    static noinline void check() noexcept {
  465|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  466|  28.2k|        struct alignas(1) Test1 {
  467|  28.2k|            char a;
  468|  28.2k|            T b;
  469|  28.2k|        };
  470|  28.2k|        struct alignas(1) Test2 {
  471|  28.2k|            char a;
  472|  28.2k|            T b[3];
  473|  28.2k|        };
  474|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  475|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  476|  28.2k|        Test1 t1[7];
  477|  28.2k|        Test2 t2[7];
  478|  28.2k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  479|  28.2k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  480|  28.2k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  481|  28.2k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  482|  28.2k|        UNUSED(t1);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  483|  28.2k|        UNUSED(t2);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  484|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4LE64E4testEv:
  492|  28.2k|    static noinline bool test() noexcept {
  493|  28.2k|        CheckIntegral<T>::check();
  494|  28.2k|        CheckAlignment<T>::check();
  495|       |        // arithmetic checks
  496|  28.2k|        {
  497|  28.2k|            T all_bits = {}; // == zero
  498|  28.2k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  499|  28.2k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  500|      0|            all_bits += 1;
  501|  28.2k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  502|      0|            all_bits -= 2;
  503|  28.2k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  504|      0|            T v1;
  505|  28.2k|            v1 = 1;
  506|  28.2k|            v1 *= 4;
  507|  28.2k|            v1 /= 2;
  508|  28.2k|            v1 -= 1;
  509|  28.2k|            T v2;
  510|  28.2k|            v2 = 1;
  511|  28.2k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  512|  28.2k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  513|  28.2k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  514|  28.2k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  515|  28.2k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  516|  28.2k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            v2 ^= all_bits;
  518|  28.2k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|  28.2k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  520|  28.2k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|  28.2k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  522|  28.2k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|  28.2k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  524|      0|            v2 += 2;
  525|  28.2k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  526|  28.2k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  527|      0|            v1 <<= 1;
  528|  28.2k|            v1 |= v2;
  529|  28.2k|            v1 >>= 1;
  530|  28.2k|            v2 &= v1;
  531|  28.2k|            v2 /= v1;
  532|  28.2k|            v2 *= v1;
  533|  28.2k|            v1 += v2;
  534|  28.2k|            v1 -= v2;
  535|  28.2k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|  28.2k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  537|  28.2k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (537:17): [True: 0, False: 28.2k]
  ------------------
  538|      0|                return false;
  539|  28.2k|        }
  540|       |        // min/max
  541|  28.2k|        {
  542|  28.2k|            constexpr T a = {}; // == zero
  543|  28.2k|            typedef typename T::integral_conversion_type U;
  544|  28.2k|            constexpr U b = 1;
  545|  28.2k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  28.2k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  28.2k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  28.2k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  28.2k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  28.2k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|  28.2k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  552|  28.2k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  28.2k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  28.2k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  28.2k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  28.2k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  28.2k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|  28.2k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  559|  28.2k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  28.2k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|  28.2k|            T minus_one_t = {}, minus_two_t = {};
  562|  28.2k|            minus_one_t -= 1;
  563|  28.2k|            minus_two_t -= 2;
  564|  28.2k|            const U minus_one_u = minus_one_t;
  565|  28.2k|            const U minus_two_u = minus_two_t;
  566|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  567|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  569|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  573|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|  28.2k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  575|  28.2k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  576|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  577|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  578|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  579|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  28.2k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  28.2k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  596|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  597|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  598|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  599|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  600|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  28.2k|        }
  603|       |        // constexpr
  604|      0|        {
  605|  28.2k|            constexpr T zero = {};
  606|  28.2k|            constexpr T zero_copy = T::make(zero);
  607|  28.2k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  28.2k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|      0|#if defined(upx_is_constant_evaluated)
  610|      0|            static_assert(zero_copy == 0);
  611|  28.2k|            static_assert(zero_copy == zero);
  612|  28.2k|            static_assert(!upx::has_single_bit(zero));
  613|  28.2k|            static_assert(!upx::has_single_bit(zero_copy));
  614|  28.2k|#endif
  615|  28.2k|        }
  616|      0|#if defined(upx_is_constant_evaluated)
  617|      0|        {
  618|  28.2k|            typedef typename T::integral_conversion_type U;
  619|  28.2k|            constexpr T one = T::make(1);
  620|  28.2k|            static_assert(one == 1);
  621|  28.2k|            static_assert(upx::has_single_bit(one));
  622|  28.2k|            constexpr T four = T::make(one + 3);
  623|  28.2k|            static_assert(four == 4);
  624|  28.2k|            static_assert(upx::has_single_bit(four));
  625|  28.2k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  626|  28.2k|            constexpr T all_bits = T::make(all_bits_u);
  627|  28.2k|            static_assert(all_bits == all_bits_u);
  628|  28.2k|            static_assert(all_bits == T::make(one - 2));
  629|  28.2k|            static_assert(!upx::has_single_bit(all_bits));
  630|  28.2k|            static_assert(one == one);
  631|  28.2k|            static_assert(!(one == four));
  632|  28.2k|            static_assert(!(one == all_bits));
  633|  28.2k|            static_assert(one < four);
  634|  28.2k|            static_assert(one < all_bits);
  635|  28.2k|            static_assert(upx::min(one, four) == 1);
  636|  28.2k|            static_assert(upx::min(one, four) == one);
  637|  28.2k|            static_assert(upx::min(U(1), four) == 1);
  638|  28.2k|            static_assert(upx::min(one, U(4)) == 1);
  639|  28.2k|            static_assert(upx::max(one, four) == 4);
  640|  28.2k|            static_assert(upx::max(one, four) == four);
  641|  28.2k|            static_assert(upx::max(U(1), four) == 4);
  642|  28.2k|            static_assert(upx::max(one, U(4)) == 4);
  643|  28.2k|            static_assert(upx::align_down(one, four) == 0);
  644|  28.2k|            static_assert(upx::align_up(one, four) == 4);
  645|  28.2k|            static_assert(upx::align_up(one, four) == four);
  646|  28.2k|            static_assert(upx::align_up_gap(one, four) == 3);
  647|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  648|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  649|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  650|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  651|  28.2k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  652|  28.2k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  653|  28.2k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  654|  28.2k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  655|  28.2k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  656|  28.2k|            constexpr T one_copy = T::make(one);
  657|  28.2k|            static_assert(one_copy == one);
  658|  28.2k|            static_assert(one_copy == 1);
  659|  28.2k|        }
  660|  28.2k|#endif
  661|  28.2k|        return true;
  662|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E5checkEv:
  424|  28.2k|    static noinline void check() noexcept {
  425|  28.2k|        check_core();
  426|  28.2k|        {
  427|  28.2k|            T zero, one, three, four;
  428|  28.2k|            zero = 0;
  429|  28.2k|            one = 1;
  430|  28.2k|            three = 3;
  431|  28.2k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  28.2k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  28.2k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  28.2k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  28.2k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  28.2k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  28.2k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  28.2k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  28.2k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  28.2k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  28.2k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  28.2k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  28.2k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  28.2k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  28.2k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  28.2k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  28.2k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  28.2k|        }
  459|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E10check_coreEv:
  383|  28.2k|    static noinline void check_core() noexcept {
  384|  28.2k|        checkU<T>();
  385|  28.2k|        checkU<typename std::add_const<T>::type>();
  386|  28.2k|        {
  387|  28.2k|            TestT t = {};
  388|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  28.2k|        }
  391|      0|        {
  392|  28.2k|            const TestT t = {};
  393|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  28.2k|        }
  396|      0|        {
  397|  28.2k|            constexpr TestT t = {};
  398|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  28.2k|        }
  401|      0|        {
  402|  28.2k|            TestT t;
  403|  28.2k|            mem_clear(&t);
  404|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  28.2k|        }
  407|      0|        {
  408|  28.2k|            T zero, one, three, four;
  409|  28.2k|            zero = 0;
  410|  28.2k|            one = 1;
  411|  28.2k|            three = 3;
  412|  28.2k|            four = 4;
  413|  28.2k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  28.2k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  28.2k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  28.2k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  28.2k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  28.2k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  28.2k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  28.2k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  28.2k|        }
  423|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E6checkUIS1_EEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|      0|#if defined(upx_is_constant_evaluated)
  369|      0|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E6checkUIKS1_EEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|      0|#if defined(upx_is_constant_evaluated)
  369|      0|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4LE64E5checkEv:
  464|  28.2k|    static noinline void check() noexcept {
  465|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  466|  28.2k|        struct alignas(1) Test1 {
  467|  28.2k|            char a;
  468|  28.2k|            T b;
  469|  28.2k|        };
  470|  28.2k|        struct alignas(1) Test2 {
  471|  28.2k|            char a;
  472|  28.2k|            T b[3];
  473|  28.2k|        };
  474|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  475|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  476|  28.2k|        Test1 t1[7];
  477|  28.2k|        Test2 t2[7];
  478|  28.2k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  479|  28.2k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  480|  28.2k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  481|  28.2k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  482|  28.2k|        UNUSED(t1);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  483|  28.2k|        UNUSED(t2);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  484|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4BE16E4testEv:
  492|  28.2k|    static noinline bool test() noexcept {
  493|  28.2k|        CheckIntegral<T>::check();
  494|  28.2k|        CheckAlignment<T>::check();
  495|       |        // arithmetic checks
  496|  28.2k|        {
  497|  28.2k|            T all_bits = {}; // == zero
  498|  28.2k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  499|  28.2k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  500|      0|            all_bits += 1;
  501|  28.2k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  502|      0|            all_bits -= 2;
  503|  28.2k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  504|      0|            T v1;
  505|  28.2k|            v1 = 1;
  506|  28.2k|            v1 *= 4;
  507|  28.2k|            v1 /= 2;
  508|  28.2k|            v1 -= 1;
  509|  28.2k|            T v2;
  510|  28.2k|            v2 = 1;
  511|  28.2k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  512|  28.2k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  513|  28.2k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  514|  28.2k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  515|  28.2k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  516|  28.2k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            v2 ^= all_bits;
  518|  28.2k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|  28.2k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  520|  28.2k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|  28.2k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  522|  28.2k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|  28.2k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  524|      0|            v2 += 2;
  525|  28.2k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  526|  28.2k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  527|      0|            v1 <<= 1;
  528|  28.2k|            v1 |= v2;
  529|  28.2k|            v1 >>= 1;
  530|  28.2k|            v2 &= v1;
  531|  28.2k|            v2 /= v1;
  532|  28.2k|            v2 *= v1;
  533|  28.2k|            v1 += v2;
  534|  28.2k|            v1 -= v2;
  535|  28.2k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|  28.2k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  537|  28.2k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (537:17): [True: 0, False: 28.2k]
  ------------------
  538|      0|                return false;
  539|  28.2k|        }
  540|       |        // min/max
  541|  28.2k|        {
  542|  28.2k|            constexpr T a = {}; // == zero
  543|  28.2k|            typedef typename T::integral_conversion_type U;
  544|  28.2k|            constexpr U b = 1;
  545|  28.2k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  28.2k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  28.2k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  28.2k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  28.2k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  28.2k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|  28.2k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  552|  28.2k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  28.2k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  28.2k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  28.2k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  28.2k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  28.2k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|  28.2k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  559|  28.2k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  28.2k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|  28.2k|            T minus_one_t = {}, minus_two_t = {};
  562|  28.2k|            minus_one_t -= 1;
  563|  28.2k|            minus_two_t -= 2;
  564|  28.2k|            const U minus_one_u = minus_one_t;
  565|  28.2k|            const U minus_two_u = minus_two_t;
  566|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  567|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  569|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  573|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|  28.2k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  575|  28.2k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  576|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  577|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  578|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  579|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  28.2k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  28.2k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  596|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  597|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  598|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  599|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  600|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  28.2k|        }
  603|       |        // constexpr
  604|      0|        {
  605|  28.2k|            constexpr T zero = {};
  606|  28.2k|            constexpr T zero_copy = T::make(zero);
  607|  28.2k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  28.2k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|      0|#if defined(upx_is_constant_evaluated)
  610|      0|            static_assert(zero_copy == 0);
  611|  28.2k|            static_assert(zero_copy == zero);
  612|  28.2k|            static_assert(!upx::has_single_bit(zero));
  613|  28.2k|            static_assert(!upx::has_single_bit(zero_copy));
  614|  28.2k|#endif
  615|  28.2k|        }
  616|      0|#if defined(upx_is_constant_evaluated)
  617|      0|        {
  618|  28.2k|            typedef typename T::integral_conversion_type U;
  619|  28.2k|            constexpr T one = T::make(1);
  620|  28.2k|            static_assert(one == 1);
  621|  28.2k|            static_assert(upx::has_single_bit(one));
  622|  28.2k|            constexpr T four = T::make(one + 3);
  623|  28.2k|            static_assert(four == 4);
  624|  28.2k|            static_assert(upx::has_single_bit(four));
  625|  28.2k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  626|  28.2k|            constexpr T all_bits = T::make(all_bits_u);
  627|  28.2k|            static_assert(all_bits == all_bits_u);
  628|  28.2k|            static_assert(all_bits == T::make(one - 2));
  629|  28.2k|            static_assert(!upx::has_single_bit(all_bits));
  630|  28.2k|            static_assert(one == one);
  631|  28.2k|            static_assert(!(one == four));
  632|  28.2k|            static_assert(!(one == all_bits));
  633|  28.2k|            static_assert(one < four);
  634|  28.2k|            static_assert(one < all_bits);
  635|  28.2k|            static_assert(upx::min(one, four) == 1);
  636|  28.2k|            static_assert(upx::min(one, four) == one);
  637|  28.2k|            static_assert(upx::min(U(1), four) == 1);
  638|  28.2k|            static_assert(upx::min(one, U(4)) == 1);
  639|  28.2k|            static_assert(upx::max(one, four) == 4);
  640|  28.2k|            static_assert(upx::max(one, four) == four);
  641|  28.2k|            static_assert(upx::max(U(1), four) == 4);
  642|  28.2k|            static_assert(upx::max(one, U(4)) == 4);
  643|  28.2k|            static_assert(upx::align_down(one, four) == 0);
  644|  28.2k|            static_assert(upx::align_up(one, four) == 4);
  645|  28.2k|            static_assert(upx::align_up(one, four) == four);
  646|  28.2k|            static_assert(upx::align_up_gap(one, four) == 3);
  647|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  648|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  649|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  650|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  651|  28.2k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  652|  28.2k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  653|  28.2k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  654|  28.2k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  655|  28.2k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  656|  28.2k|            constexpr T one_copy = T::make(one);
  657|  28.2k|            static_assert(one_copy == one);
  658|  28.2k|            static_assert(one_copy == 1);
  659|  28.2k|        }
  660|  28.2k|#endif
  661|  28.2k|        return true;
  662|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E5checkEv:
  424|  28.2k|    static noinline void check() noexcept {
  425|  28.2k|        check_core();
  426|  28.2k|        {
  427|  28.2k|            T zero, one, three, four;
  428|  28.2k|            zero = 0;
  429|  28.2k|            one = 1;
  430|  28.2k|            three = 3;
  431|  28.2k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  28.2k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  28.2k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  28.2k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  28.2k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  28.2k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  28.2k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  28.2k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  28.2k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  28.2k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  28.2k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  28.2k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  28.2k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  28.2k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  28.2k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  28.2k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  28.2k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  28.2k|        }
  459|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E10check_coreEv:
  383|  28.2k|    static noinline void check_core() noexcept {
  384|  28.2k|        checkU<T>();
  385|  28.2k|        checkU<typename std::add_const<T>::type>();
  386|  28.2k|        {
  387|  28.2k|            TestT t = {};
  388|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  28.2k|        }
  391|      0|        {
  392|  28.2k|            const TestT t = {};
  393|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  28.2k|        }
  396|      0|        {
  397|  28.2k|            constexpr TestT t = {};
  398|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  28.2k|        }
  401|      0|        {
  402|  28.2k|            TestT t;
  403|  28.2k|            mem_clear(&t);
  404|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  28.2k|        }
  407|      0|        {
  408|  28.2k|            T zero, one, three, four;
  409|  28.2k|            zero = 0;
  410|  28.2k|            one = 1;
  411|  28.2k|            three = 3;
  412|  28.2k|            four = 4;
  413|  28.2k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  28.2k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  28.2k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  28.2k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  28.2k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  28.2k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  28.2k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  28.2k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  28.2k|        }
  423|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E6checkUIS1_EEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|      0|#if defined(upx_is_constant_evaluated)
  369|      0|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E6checkUIKS1_EEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|      0|#if defined(upx_is_constant_evaluated)
  369|      0|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4BE16E5checkEv:
  464|  28.2k|    static noinline void check() noexcept {
  465|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  466|  28.2k|        struct alignas(1) Test1 {
  467|  28.2k|            char a;
  468|  28.2k|            T b;
  469|  28.2k|        };
  470|  28.2k|        struct alignas(1) Test2 {
  471|  28.2k|            char a;
  472|  28.2k|            T b[3];
  473|  28.2k|        };
  474|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  475|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  476|  28.2k|        Test1 t1[7];
  477|  28.2k|        Test2 t2[7];
  478|  28.2k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  479|  28.2k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  480|  28.2k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  481|  28.2k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  482|  28.2k|        UNUSED(t1);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  483|  28.2k|        UNUSED(t2);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  484|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4BE32E4testEv:
  492|  28.2k|    static noinline bool test() noexcept {
  493|  28.2k|        CheckIntegral<T>::check();
  494|  28.2k|        CheckAlignment<T>::check();
  495|       |        // arithmetic checks
  496|  28.2k|        {
  497|  28.2k|            T all_bits = {}; // == zero
  498|  28.2k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  499|  28.2k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  500|      0|            all_bits += 1;
  501|  28.2k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  502|      0|            all_bits -= 2;
  503|  28.2k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  504|      0|            T v1;
  505|  28.2k|            v1 = 1;
  506|  28.2k|            v1 *= 4;
  507|  28.2k|            v1 /= 2;
  508|  28.2k|            v1 -= 1;
  509|  28.2k|            T v2;
  510|  28.2k|            v2 = 1;
  511|  28.2k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  512|  28.2k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  513|  28.2k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  514|  28.2k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  515|  28.2k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  516|  28.2k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            v2 ^= all_bits;
  518|  28.2k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|  28.2k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  520|  28.2k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|  28.2k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  522|  28.2k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|  28.2k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  524|      0|            v2 += 2;
  525|  28.2k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  526|  28.2k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  527|      0|            v1 <<= 1;
  528|  28.2k|            v1 |= v2;
  529|  28.2k|            v1 >>= 1;
  530|  28.2k|            v2 &= v1;
  531|  28.2k|            v2 /= v1;
  532|  28.2k|            v2 *= v1;
  533|  28.2k|            v1 += v2;
  534|  28.2k|            v1 -= v2;
  535|  28.2k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|  28.2k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  537|  28.2k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (537:17): [True: 0, False: 28.2k]
  ------------------
  538|      0|                return false;
  539|  28.2k|        }
  540|       |        // min/max
  541|  28.2k|        {
  542|  28.2k|            constexpr T a = {}; // == zero
  543|  28.2k|            typedef typename T::integral_conversion_type U;
  544|  28.2k|            constexpr U b = 1;
  545|  28.2k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  28.2k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  28.2k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  28.2k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  28.2k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  28.2k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|  28.2k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  552|  28.2k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  28.2k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  28.2k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  28.2k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  28.2k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  28.2k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|  28.2k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  559|  28.2k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  28.2k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|  28.2k|            T minus_one_t = {}, minus_two_t = {};
  562|  28.2k|            minus_one_t -= 1;
  563|  28.2k|            minus_two_t -= 2;
  564|  28.2k|            const U minus_one_u = minus_one_t;
  565|  28.2k|            const U minus_two_u = minus_two_t;
  566|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  567|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  569|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  573|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|  28.2k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  575|  28.2k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  576|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  577|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  578|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  579|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  28.2k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  28.2k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  596|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  597|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  598|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  599|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  600|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  28.2k|        }
  603|       |        // constexpr
  604|      0|        {
  605|  28.2k|            constexpr T zero = {};
  606|  28.2k|            constexpr T zero_copy = T::make(zero);
  607|  28.2k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  28.2k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|      0|#if defined(upx_is_constant_evaluated)
  610|      0|            static_assert(zero_copy == 0);
  611|  28.2k|            static_assert(zero_copy == zero);
  612|  28.2k|            static_assert(!upx::has_single_bit(zero));
  613|  28.2k|            static_assert(!upx::has_single_bit(zero_copy));
  614|  28.2k|#endif
  615|  28.2k|        }
  616|      0|#if defined(upx_is_constant_evaluated)
  617|      0|        {
  618|  28.2k|            typedef typename T::integral_conversion_type U;
  619|  28.2k|            constexpr T one = T::make(1);
  620|  28.2k|            static_assert(one == 1);
  621|  28.2k|            static_assert(upx::has_single_bit(one));
  622|  28.2k|            constexpr T four = T::make(one + 3);
  623|  28.2k|            static_assert(four == 4);
  624|  28.2k|            static_assert(upx::has_single_bit(four));
  625|  28.2k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  626|  28.2k|            constexpr T all_bits = T::make(all_bits_u);
  627|  28.2k|            static_assert(all_bits == all_bits_u);
  628|  28.2k|            static_assert(all_bits == T::make(one - 2));
  629|  28.2k|            static_assert(!upx::has_single_bit(all_bits));
  630|  28.2k|            static_assert(one == one);
  631|  28.2k|            static_assert(!(one == four));
  632|  28.2k|            static_assert(!(one == all_bits));
  633|  28.2k|            static_assert(one < four);
  634|  28.2k|            static_assert(one < all_bits);
  635|  28.2k|            static_assert(upx::min(one, four) == 1);
  636|  28.2k|            static_assert(upx::min(one, four) == one);
  637|  28.2k|            static_assert(upx::min(U(1), four) == 1);
  638|  28.2k|            static_assert(upx::min(one, U(4)) == 1);
  639|  28.2k|            static_assert(upx::max(one, four) == 4);
  640|  28.2k|            static_assert(upx::max(one, four) == four);
  641|  28.2k|            static_assert(upx::max(U(1), four) == 4);
  642|  28.2k|            static_assert(upx::max(one, U(4)) == 4);
  643|  28.2k|            static_assert(upx::align_down(one, four) == 0);
  644|  28.2k|            static_assert(upx::align_up(one, four) == 4);
  645|  28.2k|            static_assert(upx::align_up(one, four) == four);
  646|  28.2k|            static_assert(upx::align_up_gap(one, four) == 3);
  647|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  648|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  649|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  650|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  651|  28.2k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  652|  28.2k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  653|  28.2k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  654|  28.2k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  655|  28.2k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  656|  28.2k|            constexpr T one_copy = T::make(one);
  657|  28.2k|            static_assert(one_copy == one);
  658|  28.2k|            static_assert(one_copy == 1);
  659|  28.2k|        }
  660|  28.2k|#endif
  661|  28.2k|        return true;
  662|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E5checkEv:
  424|  28.2k|    static noinline void check() noexcept {
  425|  28.2k|        check_core();
  426|  28.2k|        {
  427|  28.2k|            T zero, one, three, four;
  428|  28.2k|            zero = 0;
  429|  28.2k|            one = 1;
  430|  28.2k|            three = 3;
  431|  28.2k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  28.2k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  28.2k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  28.2k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  28.2k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  28.2k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  28.2k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  28.2k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  28.2k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  28.2k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  28.2k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  28.2k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  28.2k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  28.2k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  28.2k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  28.2k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  28.2k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  28.2k|        }
  459|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E10check_coreEv:
  383|  28.2k|    static noinline void check_core() noexcept {
  384|  28.2k|        checkU<T>();
  385|  28.2k|        checkU<typename std::add_const<T>::type>();
  386|  28.2k|        {
  387|  28.2k|            TestT t = {};
  388|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  28.2k|        }
  391|      0|        {
  392|  28.2k|            const TestT t = {};
  393|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  28.2k|        }
  396|      0|        {
  397|  28.2k|            constexpr TestT t = {};
  398|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  28.2k|        }
  401|      0|        {
  402|  28.2k|            TestT t;
  403|  28.2k|            mem_clear(&t);
  404|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  28.2k|        }
  407|      0|        {
  408|  28.2k|            T zero, one, three, four;
  409|  28.2k|            zero = 0;
  410|  28.2k|            one = 1;
  411|  28.2k|            three = 3;
  412|  28.2k|            four = 4;
  413|  28.2k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  28.2k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  28.2k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  28.2k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  28.2k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  28.2k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  28.2k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  28.2k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  28.2k|        }
  423|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E6checkUIS1_EEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|      0|#if defined(upx_is_constant_evaluated)
  369|      0|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E6checkUIKS1_EEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|      0|#if defined(upx_is_constant_evaluated)
  369|      0|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4BE32E5checkEv:
  464|  28.2k|    static noinline void check() noexcept {
  465|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  466|  28.2k|        struct alignas(1) Test1 {
  467|  28.2k|            char a;
  468|  28.2k|            T b;
  469|  28.2k|        };
  470|  28.2k|        struct alignas(1) Test2 {
  471|  28.2k|            char a;
  472|  28.2k|            T b[3];
  473|  28.2k|        };
  474|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  475|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  476|  28.2k|        Test1 t1[7];
  477|  28.2k|        Test2 t2[7];
  478|  28.2k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  479|  28.2k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  480|  28.2k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  481|  28.2k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  482|  28.2k|        UNUSED(t1);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  483|  28.2k|        UNUSED(t2);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  484|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4BE64E4testEv:
  492|  28.2k|    static noinline bool test() noexcept {
  493|  28.2k|        CheckIntegral<T>::check();
  494|  28.2k|        CheckAlignment<T>::check();
  495|       |        // arithmetic checks
  496|  28.2k|        {
  497|  28.2k|            T all_bits = {}; // == zero
  498|  28.2k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  499|  28.2k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  500|      0|            all_bits += 1;
  501|  28.2k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  502|      0|            all_bits -= 2;
  503|  28.2k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  504|      0|            T v1;
  505|  28.2k|            v1 = 1;
  506|  28.2k|            v1 *= 4;
  507|  28.2k|            v1 /= 2;
  508|  28.2k|            v1 -= 1;
  509|  28.2k|            T v2;
  510|  28.2k|            v2 = 1;
  511|  28.2k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  512|  28.2k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  513|  28.2k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  514|  28.2k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  515|  28.2k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  516|  28.2k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            v2 ^= all_bits;
  518|  28.2k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|  28.2k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  520|  28.2k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|  28.2k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  522|  28.2k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  523|  28.2k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  524|      0|            v2 += 2;
  525|  28.2k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  526|  28.2k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  527|      0|            v1 <<= 1;
  528|  28.2k|            v1 |= v2;
  529|  28.2k|            v1 >>= 1;
  530|  28.2k|            v2 &= v1;
  531|  28.2k|            v2 /= v1;
  532|  28.2k|            v2 *= v1;
  533|  28.2k|            v1 += v2;
  534|  28.2k|            v1 -= v2;
  535|  28.2k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|  28.2k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  537|  28.2k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (537:17): [True: 0, False: 28.2k]
  ------------------
  538|      0|                return false;
  539|  28.2k|        }
  540|       |        // min/max
  541|  28.2k|        {
  542|  28.2k|            constexpr T a = {}; // == zero
  543|  28.2k|            typedef typename T::integral_conversion_type U;
  544|  28.2k|            constexpr U b = 1;
  545|  28.2k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  546|  28.2k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  547|  28.2k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  548|  28.2k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  549|  28.2k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  550|  28.2k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  551|  28.2k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  552|  28.2k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  28.2k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  554|  28.2k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  555|  28.2k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  556|  28.2k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  557|  28.2k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  558|  28.2k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  559|  28.2k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  560|  28.2k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  561|  28.2k|            T minus_one_t = {}, minus_two_t = {};
  562|  28.2k|            minus_one_t -= 1;
  563|  28.2k|            minus_two_t -= 2;
  564|  28.2k|            const U minus_one_u = minus_one_t;
  565|  28.2k|            const U minus_two_u = minus_two_t;
  566|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  567|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  569|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  573|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|  28.2k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  575|  28.2k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  576|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  577|  28.2k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  578|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  579|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  580|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  581|  28.2k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  28.2k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  28.2k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  28.2k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  28.2k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  596|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  597|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  598|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  599|  28.2k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  600|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  28.2k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  28.2k|        }
  603|       |        // constexpr
  604|      0|        {
  605|  28.2k|            constexpr T zero = {};
  606|  28.2k|            constexpr T zero_copy = T::make(zero);
  607|  28.2k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  28.2k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|      0|#if defined(upx_is_constant_evaluated)
  610|      0|            static_assert(zero_copy == 0);
  611|  28.2k|            static_assert(zero_copy == zero);
  612|  28.2k|            static_assert(!upx::has_single_bit(zero));
  613|  28.2k|            static_assert(!upx::has_single_bit(zero_copy));
  614|  28.2k|#endif
  615|  28.2k|        }
  616|      0|#if defined(upx_is_constant_evaluated)
  617|      0|        {
  618|  28.2k|            typedef typename T::integral_conversion_type U;
  619|  28.2k|            constexpr T one = T::make(1);
  620|  28.2k|            static_assert(one == 1);
  621|  28.2k|            static_assert(upx::has_single_bit(one));
  622|  28.2k|            constexpr T four = T::make(one + 3);
  623|  28.2k|            static_assert(four == 4);
  624|  28.2k|            static_assert(upx::has_single_bit(four));
  625|  28.2k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  626|  28.2k|            constexpr T all_bits = T::make(all_bits_u);
  627|  28.2k|            static_assert(all_bits == all_bits_u);
  628|  28.2k|            static_assert(all_bits == T::make(one - 2));
  629|  28.2k|            static_assert(!upx::has_single_bit(all_bits));
  630|  28.2k|            static_assert(one == one);
  631|  28.2k|            static_assert(!(one == four));
  632|  28.2k|            static_assert(!(one == all_bits));
  633|  28.2k|            static_assert(one < four);
  634|  28.2k|            static_assert(one < all_bits);
  635|  28.2k|            static_assert(upx::min(one, four) == 1);
  636|  28.2k|            static_assert(upx::min(one, four) == one);
  637|  28.2k|            static_assert(upx::min(U(1), four) == 1);
  638|  28.2k|            static_assert(upx::min(one, U(4)) == 1);
  639|  28.2k|            static_assert(upx::max(one, four) == 4);
  640|  28.2k|            static_assert(upx::max(one, four) == four);
  641|  28.2k|            static_assert(upx::max(U(1), four) == 4);
  642|  28.2k|            static_assert(upx::max(one, U(4)) == 4);
  643|  28.2k|            static_assert(upx::align_down(one, four) == 0);
  644|  28.2k|            static_assert(upx::align_up(one, four) == 4);
  645|  28.2k|            static_assert(upx::align_up(one, four) == four);
  646|  28.2k|            static_assert(upx::align_up_gap(one, four) == 3);
  647|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  648|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  649|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  650|  28.2k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  651|  28.2k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  652|  28.2k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  653|  28.2k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  654|  28.2k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  655|  28.2k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  656|  28.2k|            constexpr T one_copy = T::make(one);
  657|  28.2k|            static_assert(one_copy == one);
  658|  28.2k|            static_assert(one_copy == 1);
  659|  28.2k|        }
  660|  28.2k|#endif
  661|  28.2k|        return true;
  662|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E5checkEv:
  424|  28.2k|    static noinline void check() noexcept {
  425|  28.2k|        check_core();
  426|  28.2k|        {
  427|  28.2k|            T zero, one, three, four;
  428|  28.2k|            zero = 0;
  429|  28.2k|            one = 1;
  430|  28.2k|            three = 3;
  431|  28.2k|            four = 4;
  432|       |            // align - needs binary expressions which do not work
  433|       |            //   on CHERI uintptr_t because of pointer provenance
  434|  28.2k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  28.2k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  28.2k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  28.2k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  28.2k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|  28.2k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|  28.2k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|  28.2k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|  28.2k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  443|  28.2k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  444|  28.2k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|  28.2k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|  28.2k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  447|  28.2k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|  28.2k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|  28.2k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  450|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  28.2k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  28.2k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  28.2k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  28.2k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  28.2k|        }
  459|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E10check_coreEv:
  383|  28.2k|    static noinline void check_core() noexcept {
  384|  28.2k|        checkU<T>();
  385|  28.2k|        checkU<typename std::add_const<T>::type>();
  386|  28.2k|        {
  387|  28.2k|            TestT t = {};
  388|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  389|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|  28.2k|        }
  391|      0|        {
  392|  28.2k|            const TestT t = {};
  393|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  28.2k|        }
  396|      0|        {
  397|  28.2k|            constexpr TestT t = {};
  398|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  399|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  400|  28.2k|        }
  401|      0|        {
  402|  28.2k|            TestT t;
  403|  28.2k|            mem_clear(&t);
  404|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  28.2k|        }
  407|      0|        {
  408|  28.2k|            T zero, one, three, four;
  409|  28.2k|            zero = 0;
  410|  28.2k|            one = 1;
  411|  28.2k|            three = 3;
  412|  28.2k|            four = 4;
  413|  28.2k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  414|  28.2k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  28.2k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  28.2k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  417|       |            // min / max
  418|  28.2k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  419|  28.2k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  420|  28.2k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  28.2k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  28.2k|        }
  423|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E6checkUIS1_EEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|      0|#if defined(upx_is_constant_evaluated)
  369|      0|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E6checkUIKS1_EEvv:
  339|  28.2k|    static noinline void checkU() noexcept {
  340|       |        // UPX extras
  341|  28.2k|        static_assert(upx_is_integral<U>::value);
  342|  28.2k|        static_assert(upx_is_integral_v<U>);
  343|  28.2k|#if __cplusplus <= 201703L
  344|  28.2k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  345|  28.2k|#endif
  346|  28.2k|        static_assert(std::is_standard_layout<U>::value);
  347|  28.2k|#if __cplusplus <= 202302L
  348|  28.2k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  349|  28.2k|#endif
  350|       |        // more checks, these are probably implied by std::is_trivial
  351|  28.2k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  352|  28.2k|        static_assert(std::is_nothrow_destructible<U>::value);
  353|  28.2k|        static_assert(std::is_trivially_copyable<U>::value);
  354|  28.2k|        static_assert(std::is_trivially_default_constructible<U>::value);
  355|  28.2k|        {
  356|  28.2k|            U a = {};
  357|  28.2k|            const U b = {};
  358|  28.2k|            constexpr U c = {};
  359|  28.2k|            U x[2] = {};
  360|  28.2k|            const U y[2] = {};
  361|  28.2k|            constexpr U z[2] = {};
  362|  28.2k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  363|  28.2k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  364|  28.2k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  365|  28.2k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  366|  28.2k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  367|  28.2k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  368|      0|#if defined(upx_is_constant_evaluated)
  369|      0|            static_assert(c == 0);
  370|  28.2k|            static_assert(z[0] == 0 && z[1] == 0);
  371|  28.2k|#endif
  372|  28.2k|        }
  373|      0|        {
  374|  28.2k|            TestU<U> t;
  375|  28.2k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  376|  28.2k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  377|  28.2k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  378|  28.2k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  28.2k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  28.2k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  28.2k|        }
  382|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4BE64E5checkEv:
  464|  28.2k|    static noinline void check() noexcept {
  465|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  466|  28.2k|        struct alignas(1) Test1 {
  467|  28.2k|            char a;
  468|  28.2k|            T b;
  469|  28.2k|        };
  470|  28.2k|        struct alignas(1) Test2 {
  471|  28.2k|            char a;
  472|  28.2k|            T b[3];
  473|  28.2k|        };
  474|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  475|  28.2k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  446|  28.2k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  28.2k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  28.2k|    {                                                                                              \
  |  |  |  |  |  |  429|  28.2k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  28.2k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  28.2k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  28.2k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  28.2k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  28.2k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  28.2k|        };                                                                                         \
  |  |  |  |  |  |  436|  28.2k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  28.2k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  28.2k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  28.2k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  28.2k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  28.2k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  28.2k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  476|  28.2k|        Test1 t1[7];
  477|  28.2k|        Test2 t2[7];
  478|  28.2k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  479|  28.2k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  480|  28.2k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  481|  28.2k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  482|  28.2k|        UNUSED(t1);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  483|  28.2k|        UNUSED(t2);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  484|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIs4BE32EEbPT_PT0_:
  717|  28.2k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  718|  28.2k|    return TestNoAliasingStruct<A, B>::test(a, b);
  719|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIs4BE32E4testEPsPS1_:
  709|  28.2k|    static noinline bool test(A *a, B *b) noexcept {
  710|  28.2k|        *a = 0;
  711|  28.2k|        *b = 0;
  712|  28.2k|        *b -= 3;
  713|  28.2k|        return *a != 0;
  714|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIs4LE32EEbPT_PT0_:
  717|  28.2k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  718|  28.2k|    return TestNoAliasingStruct<A, B>::test(a, b);
  719|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIs4LE32E4testEPsPS1_:
  709|  28.2k|    static noinline bool test(A *a, B *b) noexcept {
  710|  28.2k|        *a = 0;
  711|  28.2k|        *b = 0;
  712|  28.2k|        *b -= 3;
  713|  28.2k|        return *a != 0;
  714|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIi4BE64EEbPT_PT0_:
  717|  28.2k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  718|  28.2k|    return TestNoAliasingStruct<A, B>::test(a, b);
  719|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIi4BE64E4testEPiPS1_:
  709|  28.2k|    static noinline bool test(A *a, B *b) noexcept {
  710|  28.2k|        *a = 0;
  711|  28.2k|        *b = 0;
  712|  28.2k|        *b -= 3;
  713|  28.2k|        return *a != 0;
  714|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIi4LE64EEbPT_PT0_:
  717|  28.2k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  718|  28.2k|    return TestNoAliasingStruct<A, B>::test(a, b);
  719|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIi4LE64E4testEPiPS1_:
  709|  28.2k|    static noinline bool test(A *a, B *b) noexcept {
  710|  28.2k|        *a = 0;
  711|  28.2k|        *b = 0;
  712|  28.2k|        *b -= 3;
  713|  28.2k|        return *a != 0;
  714|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIsiEEbPT_PT0_:
  717|  28.2k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  718|  28.2k|    return TestNoAliasingStruct<A, B>::test(a, b);
  719|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIsiE4testEPsPi:
  709|  28.2k|    static noinline bool test(A *a, B *b) noexcept {
  710|  28.2k|        *a = 0;
  711|  28.2k|        *b = 0;
  712|  28.2k|        *b -= 3;
  713|  28.2k|        return *a != 0;
  714|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIilEEbPT_PT0_:
  717|  28.2k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  718|  28.2k|    return TestNoAliasingStruct<A, B>::test(a, b);
  719|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIilE4testEPiPl:
  709|  28.2k|    static noinline bool test(A *a, B *b) noexcept {
  710|  28.2k|        *a = 0;
  711|  28.2k|        *b = 0;
  712|  28.2k|        *b -= 3;
  713|  28.2k|        return *a != 0;
  714|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIixEEbPT_PT0_:
  717|  28.2k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  718|  28.2k|    return TestNoAliasingStruct<A, B>::test(a, b);
  719|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIixE4testEPiPx:
  709|  28.2k|    static noinline bool test(A *a, B *b) noexcept {
  710|  28.2k|        *a = 0;
  711|  28.2k|        *b = 0;
  712|  28.2k|        *b -= 3;
  713|  28.2k|        return *a != 0;
  714|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIlxEEbPT_PT0_:
  717|  28.2k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  718|  28.2k|    return TestNoAliasingStruct<A, B>::test(a, b);
  719|  28.2k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIlxE4testEPlPx:
  709|  28.2k|    static noinline bool test(A *a, B *b) noexcept {
  710|  28.2k|        *a = 0;
  711|  28.2k|        *b = 0;
  712|  28.2k|        *b -= 3;
  713|  28.2k|        return *a != 0;
  714|  28.2k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIjE6inc_gtEj:
  723|  56.5k|    static inline bool inc_gt(const T x) noexcept { return x + 1 > x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIjE6dec_ltEj:
  724|  56.5k|    static inline bool dec_lt(const T x) noexcept { return x - 1 < x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIjE6neg_eqEj:
  725|  84.8k|    static inline bool neg_eq(const T x) noexcept { return T(T(0) - x) == x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIiE6inc_gtEi:
  723|  56.5k|    static inline bool inc_gt(const T x) noexcept { return x + 1 > x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIiE6dec_ltEi:
  724|  56.5k|    static inline bool dec_lt(const T x) noexcept { return x - 1 < x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIiE6neg_eqEi:
  725|   113k|    static inline bool neg_eq(const T x) noexcept { return T(T(0) - x) == x; }

dt_cxxlib.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
  162|  14.1k|TEST_CASE("xspan codegen") {
  163|       |    // typedef byte T;
  164|  14.1k|    typedef int T;
  165|  14.1k|    T buf[4] = {0, 1, 2, 3};
  166|  14.1k|    const size_t bytes = acc_vget_acc_hsize_t(sizeof(buf), 0);
  167|  14.1k|    {
  168|  14.1k|        auto r = TestXSpanCG<T>::make_span_0_0(buf, bytes);
  169|  14.1k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  170|  14.1k|    }
  171|  14.1k|    {
  172|  14.1k|        auto r = TestXSpanCG<T>::make_span_p_0(buf, bytes);
  173|  14.1k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  174|  14.1k|    }
  175|  14.1k|    {
  176|  14.1k|        auto r = TestXSpanCG<T>::make_span_s_0(buf, bytes);
  177|  14.1k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  178|  14.1k|    }
  179|  14.1k|    {
  180|  14.1k|        auto r = TestXSpanCG<T>::make_span_0_p(buf, bytes);
  181|  14.1k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  182|  14.1k|    }
  183|  14.1k|    {
  184|  14.1k|        auto r = TestXSpanCG<T>::make_span_p_p(buf, bytes);
  185|  14.1k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  186|  14.1k|    }
  187|  14.1k|    {
  188|  14.1k|        auto r = TestXSpanCG<T>::make_span_s_p(buf, bytes);
  189|  14.1k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  190|  14.1k|    }
  191|  14.1k|    {
  192|  14.1k|        auto r = TestXSpanCG<T>::make_span_0_s(buf, bytes);
  193|  14.1k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  194|  14.1k|    }
  195|  14.1k|    {
  196|  14.1k|        auto r = TestXSpanCG<T>::make_span_p_s(buf, bytes);
  197|  14.1k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  198|  14.1k|    }
  199|  14.1k|    {
  200|  14.1k|        auto r = TestXSpanCG<T>::make_span_s_s(buf, bytes);
  201|  14.1k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  202|  14.1k|    }
  203|  14.1k|    {
  204|  14.1k|        auto r = TestXSpanCG<T>::var_span_0(buf, bytes);
  205|  14.1k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  206|  14.1k|    }
  207|  14.1k|    {
  208|  14.1k|        auto r = TestXSpanCG<T>::var_span_p(buf, bytes);
  209|  14.1k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  210|  14.1k|    }
  211|  14.1k|    {
  212|  14.1k|        auto r = TestXSpanCG<T>::var_span_s(buf, bytes);
  213|  14.1k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  214|  14.1k|    }
  215|  14.1k|    {
  216|  14.1k|        auto r = TestXSpanCG<T>::type_cast_0(buf, bytes);
  217|  14.1k|        CHECK(r == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  218|  14.1k|    }
  219|  14.1k|    {
  220|  14.1k|        auto r = TestXSpanCG<T>::type_cast_p(buf, bytes);
  221|  14.1k|        CHECK(r == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  222|  14.1k|    }
  223|  14.1k|    {
  224|  14.1k|        auto r = TestXSpanCG<T>::type_cast_s(buf, bytes);
  225|  14.1k|        CHECK(r == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  226|  14.1k|    }
  227|  14.1k|    {
  228|  14.1k|        auto r = TestXSpanCG<T>::invalidate_0(buf, bytes);
  229|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  230|       |        (void) r;
  231|       |#else
  232|  14.1k|        CHECK(r != buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  233|  14.1k|        CHECK(r != nullptr);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  234|  14.1k|#endif
  235|  14.1k|    }
  236|  14.1k|    {
  237|  14.1k|        auto r = TestXSpanCG<T>::invalidate_p(buf, bytes);
  238|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  239|       |        (void) r;
  240|       |#else
  241|  14.1k|        CHECK(r != buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  242|  14.1k|        CHECK(r != nullptr);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  243|  14.1k|#endif
  244|  14.1k|    }
  245|  14.1k|    {
  246|  14.1k|        auto r = TestXSpanCG<T>::invalidate_s(buf, bytes);
  247|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  248|       |        (void) r;
  249|       |#else
  250|  14.1k|        CHECK(r != buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  251|  14.1k|        CHECK(r != nullptr);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  252|  14.1k|#endif
  253|  14.1k|    }
  254|  14.1k|    {
  255|  14.1k|        auto r0 = TestXSpanCG<T>::var_span_0(buf, bytes);
  256|  14.1k|        auto r1 = TestXSpanCG<T>::var_span_0(buf + 1, bytes - sizeof(T));
  257|  14.1k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  258|  14.1k|        CHECK((r0 - r1 == -1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  259|  14.1k|        CHECK((r1 - r0 == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  260|  14.1k|    }
  261|  14.1k|    {
  262|  14.1k|        auto r0 = TestXSpanCG<T>::var_span_p(buf, bytes);
  263|  14.1k|        auto r1 = TestXSpanCG<T>::var_span_p(buf + 1, bytes - sizeof(T));
  264|  14.1k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  265|  14.1k|        CHECK((r0 - r1 == -1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  266|  14.1k|        CHECK((r1 - r0 == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  267|  14.1k|    }
  268|  14.1k|    {
  269|  14.1k|        auto r0 = TestXSpanCG<T>::var_span_s(buf, bytes);
  270|  14.1k|        auto r1 = TestXSpanCG<T>::var_span_s(buf + 1, bytes - sizeof(T));
  271|  14.1k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  272|  14.1k|        CHECK((r0 - r1 == -1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  273|  14.1k|        CHECK((r1 - r0 == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  274|  14.1k|    }
  275|  14.1k|    {
  276|  14.1k|        auto r0 = XSPAN_0_MAKE(T, nullptr);
  ------------------
  |  |   95|  14.1k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  277|  14.1k|        auto r1 = XSPAN_0_MAKE(T, nullptr);
  ------------------
  |  |   95|  14.1k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  278|  14.1k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  279|  14.1k|        CHECK((r0 - r1 == 0));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|  14.1k|    }
  281|  14.1k|    {
  282|  14.1k|        auto r0 = XSPAN_0_MAKE(const T, nullptr);
  ------------------
  |  |   95|  14.1k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  283|  14.1k|        auto r1 = XSPAN_0_MAKE(T, nullptr);
  ------------------
  |  |   95|  14.1k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|  14.1k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  285|  14.1k|        CHECK((r0 - r1 == 0));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  286|  14.1k|    }
  287|  14.1k|    {
  288|  14.1k|        auto r0 = XSPAN_0_MAKE(const T, nullptr);
  ------------------
  |  |   95|  14.1k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  289|  14.1k|        auto r1 = XSPAN_0_MAKE(const T, XSPAN_0_MAKE(T, nullptr));
  ------------------
  |  |   95|  14.1k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|  14.1k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  291|  14.1k|        CHECK((r0 - r1 == 0));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  292|  14.1k|    }
  293|  14.1k|    CHECK(TestXSpanCG<T>::make_span_0_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  294|  14.1k|    CHECK(TestXSpanCG<T>::make_span_p_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  295|  14.1k|    CHECK(TestXSpanCG<T>::make_span_s_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|  14.1k|    CHECK(TestXSpanCG<T>::make_span_0_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  297|  14.1k|    CHECK(TestXSpanCG<T>::make_span_p_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  298|  14.1k|    CHECK(TestXSpanCG<T>::make_span_s_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|  14.1k|    CHECK(TestXSpanCG<T>::make_span_0_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  300|  14.1k|    CHECK(TestXSpanCG<T>::make_span_p_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  301|  14.1k|    CHECK(TestXSpanCG<T>::make_span_s_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  302|  14.1k|    CHECK(TestXSpanCG<T>::var_span_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  303|  14.1k|    CHECK(TestXSpanCG<T>::var_span_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  304|  14.1k|    CHECK(TestXSpanCG<T>::var_span_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  305|  14.1k|    CHECK(TestXSpanCG<T>::type_cast_0(buf, bytes) == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  306|  14.1k|    CHECK(TestXSpanCG<T>::type_cast_p(buf, bytes) == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  307|  14.1k|    CHECK(TestXSpanCG<T>::type_cast_s(buf, bytes) == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  308|  14.1k|    CHECK(TestXSpanCG<T>::type_cast_const_0(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  309|  14.1k|    CHECK(TestXSpanCG<T>::type_cast_const_p(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  310|  14.1k|    CHECK(TestXSpanCG<T>::type_cast_const_s(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  311|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  312|       |#else
  313|  14.1k|    CHECK(TestXSpanCG<T>::invalidate_0(buf, bytes) != buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  314|  14.1k|    CHECK(TestXSpanCG<T>::invalidate_p(buf, bytes) != buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  315|  14.1k|    CHECK(TestXSpanCG<T>::invalidate_s(buf, bytes) != buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  316|  14.1k|#endif
  317|  14.1k|    (void) buf;
  318|  14.1k|    (void) bytes;
  319|  14.1k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_0_0EPim:
   42|  28.2k|    static noinline XSPAN_0(T) make_span_0_0(T *p, size_t bytes) {
   43|  28.2k|        XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  28.2k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  28.2k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  28.2k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   44|  28.2k|        (void) bytes;
   45|  28.2k|        return r;
   46|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_p_0EPim:
   47|  28.2k|    static noinline XSPAN_P(T) make_span_p_0(T *p, size_t bytes) {
   48|  28.2k|        XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  28.2k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  28.2k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  28.2k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   49|  28.2k|        (void) bytes;
   50|  28.2k|        return r;
   51|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_s_0EPim:
   52|  28.2k|    static noinline XSPAN_S(T) make_span_s_0(T *p, size_t bytes) {
   53|  28.2k|        XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  28.2k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  28.2k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  28.2k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   54|  28.2k|        (void) bytes;
   55|  28.2k|        return r;
   56|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_0_pEPim:
   58|  28.2k|    static noinline XSPAN_0(T) make_span_0_p(T *p, size_t bytes) {
   59|  28.2k|        XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  28.2k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  28.2k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  28.2k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   60|  28.2k|        (void) bytes;
   61|  28.2k|        return r;
   62|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_p_pEPim:
   63|  28.2k|    static noinline XSPAN_P(T) make_span_p_p(T *p, size_t bytes) {
   64|  28.2k|        XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  28.2k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  28.2k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  28.2k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   65|  28.2k|        (void) bytes;
   66|  28.2k|        return r;
   67|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_s_pEPim:
   68|  28.2k|    static noinline XSPAN_S(T) make_span_s_p(T *p, size_t bytes) {
   69|  28.2k|        XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  28.2k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  28.2k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  28.2k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   70|  28.2k|        (void) bytes;
   71|  28.2k|        return r;
   72|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_0_sEPim:
   74|  28.2k|    static noinline XSPAN_0(T) make_span_0_s(T *p, size_t bytes) {
   75|  28.2k|        XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  28.2k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  28.2k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  28.2k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   76|  28.2k|        (void) bytes;
   77|  28.2k|        return r;
   78|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_p_sEPim:
   79|  28.2k|    static noinline XSPAN_P(T) make_span_p_s(T *p, size_t bytes) {
   80|  28.2k|        XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  28.2k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  28.2k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  28.2k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   81|  28.2k|        (void) bytes;
   82|  28.2k|        return r;
   83|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_s_sEPim:
   84|  28.2k|    static noinline XSPAN_S(T) make_span_s_s(T *p, size_t bytes) {
   85|  28.2k|        XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  28.2k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  28.2k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  28.2k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   86|  28.2k|        (void) bytes;
   87|  28.2k|        return r;
   88|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE10var_span_0EPim:
   91|  56.5k|    static noinline XSPAN_0(T) var_span_0(T *p, size_t bytes) {
   92|  56.5k|        XSPAN_0_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  56.5k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  56.5k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  56.5k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  56.5k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  56.5k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  56.5k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  56.5k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   93|  56.5k|        (void) bytes;
   94|  56.5k|        return r;
   95|  56.5k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE10var_span_pEPim:
   96|  56.5k|    static noinline XSPAN_P(T) var_span_p(T *p, size_t bytes) {
   97|  56.5k|        XSPAN_P_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  56.5k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  56.5k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  56.5k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  56.5k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  56.5k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  56.5k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  56.5k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   98|  56.5k|        (void) bytes;
   99|  56.5k|        return r;
  100|  56.5k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE10var_span_sEPim:
  101|  56.5k|    static noinline XSPAN_S(T) var_span_s(T *p, size_t bytes) {
  102|  56.5k|        XSPAN_S_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  56.5k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  56.5k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  56.5k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  56.5k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  56.5k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  56.5k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  56.5k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  103|  56.5k|        (void) bytes;
  104|  56.5k|        return r;
  105|  56.5k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE11type_cast_0EPim:
  108|  28.2k|    static noinline XSPAN_0(LE32) type_cast_0(T *p, size_t bytes) {
  109|  28.2k|        XSPAN_0_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  28.2k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  28.2k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  110|  28.2k|        (void) bytes;
  111|  28.2k|        return XSPAN_TYPE_CAST(LE32, r);
  ------------------
  |  |  120|  28.2k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  112|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE11type_cast_pEPim:
  113|  28.2k|    static noinline XSPAN_P(LE32) type_cast_p(T *p, size_t bytes) {
  114|  28.2k|        XSPAN_P_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  28.2k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  28.2k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  115|  28.2k|        (void) bytes;
  116|  28.2k|        return XSPAN_TYPE_CAST(LE32, r);
  ------------------
  |  |  120|  28.2k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  117|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE11type_cast_sEPim:
  118|  28.2k|    static noinline XSPAN_S(LE32) type_cast_s(T *p, size_t bytes) {
  119|  28.2k|        XSPAN_S_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  28.2k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  28.2k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  120|  28.2k|        (void) bytes;
  121|  28.2k|        return XSPAN_TYPE_CAST(LE32, r);
  ------------------
  |  |  120|  28.2k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  122|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE12invalidate_0EPim:
  141|  28.2k|    static noinline XSPAN_0(T) invalidate_0(T *p, size_t bytes) {
  142|  28.2k|        XSPAN_0_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  28.2k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  28.2k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  143|  28.2k|        (void) bytes;
  144|  28.2k|        XSPAN_INVALIDATE(r);
  ------------------
  |  |  126|  28.2k|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  ------------------
  145|  28.2k|        return r;
  146|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE12invalidate_pEPim:
  147|  28.2k|    static noinline XSPAN_P(T) invalidate_p(T *p, size_t bytes) {
  148|  28.2k|        XSPAN_P_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  28.2k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  28.2k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  149|  28.2k|        (void) bytes;
  150|  28.2k|        XSPAN_INVALIDATE(r);
  ------------------
  |  |  126|  28.2k|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  ------------------
  151|  28.2k|        return r;
  152|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE12invalidate_sEPim:
  153|  28.2k|    static noinline XSPAN_S(T) invalidate_s(T *p, size_t bytes) {
  154|  28.2k|        XSPAN_S_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  28.2k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  28.2k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  155|  28.2k|        (void) bytes;
  156|  28.2k|        XSPAN_INVALIDATE(r);
  ------------------
  |  |  126|  28.2k|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  ------------------
  157|  28.2k|        return r;
  158|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE17type_cast_const_0EPim:
  124|  14.1k|    static noinline XSPAN_0(const LE32) type_cast_const_0(T *p, size_t bytes) {
  125|  14.1k|        XSPAN_0_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  14.1k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  126|  14.1k|        (void) bytes;
  127|  14.1k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.1k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  128|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE17type_cast_const_pEPim:
  129|  14.1k|    static noinline XSPAN_P(const LE32) type_cast_const_p(T *p, size_t bytes) {
  130|  14.1k|        XSPAN_P_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  14.1k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  131|  14.1k|        (void) bytes;
  132|  14.1k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.1k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  133|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE17type_cast_const_sEPim:
  134|  14.1k|    static noinline XSPAN_S(const LE32) type_cast_const_s(T *p, size_t bytes) {
  135|  14.1k|        XSPAN_S_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  14.1k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  136|  14.1k|        (void) bytes;
  137|  14.1k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.1k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  138|  14.1k|    }
dt_cxxlib.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
  321|  14.1k|TEST_CASE("xspan codegen const") {
  322|  14.1k|    typedef const byte T;
  323|       |    // typedef const int T;
  324|  14.1k|    T buf[4] = {0, 1, 2, 3};
  325|  14.1k|    const size_t bytes = acc_vget_acc_hsize_t(sizeof(buf), 0);
  326|  14.1k|    CHECK(TestXSpanCG<T>::make_span_0_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  327|  14.1k|    CHECK(TestXSpanCG<T>::make_span_p_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  328|  14.1k|    CHECK(TestXSpanCG<T>::make_span_s_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  329|  14.1k|    CHECK(TestXSpanCG<T>::make_span_0_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  330|  14.1k|    CHECK(TestXSpanCG<T>::make_span_p_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  331|  14.1k|    CHECK(TestXSpanCG<T>::make_span_s_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  332|  14.1k|    CHECK(TestXSpanCG<T>::make_span_0_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  333|  14.1k|    CHECK(TestXSpanCG<T>::make_span_p_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  334|  14.1k|    CHECK(TestXSpanCG<T>::make_span_s_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  335|  14.1k|    CHECK(TestXSpanCG<T>::var_span_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  336|  14.1k|    CHECK(TestXSpanCG<T>::var_span_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  337|  14.1k|    CHECK(TestXSpanCG<T>::var_span_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  338|  14.1k|    CHECK(TestXSpanCG<T>::type_cast_const_0(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  339|  14.1k|    CHECK(TestXSpanCG<T>::type_cast_const_p(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  340|  14.1k|    CHECK(TestXSpanCG<T>::type_cast_const_s(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  341|  14.1k|    (void) buf;
  342|  14.1k|    (void) bytes;
  343|  14.1k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_0_0EPS1_m:
   42|  14.1k|    static noinline XSPAN_0(T) make_span_0_0(T *p, size_t bytes) {
   43|  14.1k|        XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  14.1k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   44|  14.1k|        (void) bytes;
   45|  14.1k|        return r;
   46|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_p_0EPS1_m:
   47|  14.1k|    static noinline XSPAN_P(T) make_span_p_0(T *p, size_t bytes) {
   48|  14.1k|        XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  14.1k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   49|  14.1k|        (void) bytes;
   50|  14.1k|        return r;
   51|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_s_0EPS1_m:
   52|  14.1k|    static noinline XSPAN_S(T) make_span_s_0(T *p, size_t bytes) {
   53|  14.1k|        XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  14.1k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   54|  14.1k|        (void) bytes;
   55|  14.1k|        return r;
   56|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_0_pEPS1_m:
   58|  14.1k|    static noinline XSPAN_0(T) make_span_0_p(T *p, size_t bytes) {
   59|  14.1k|        XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  14.1k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   60|  14.1k|        (void) bytes;
   61|  14.1k|        return r;
   62|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_p_pEPS1_m:
   63|  14.1k|    static noinline XSPAN_P(T) make_span_p_p(T *p, size_t bytes) {
   64|  14.1k|        XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  14.1k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   65|  14.1k|        (void) bytes;
   66|  14.1k|        return r;
   67|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_s_pEPS1_m:
   68|  14.1k|    static noinline XSPAN_S(T) make_span_s_p(T *p, size_t bytes) {
   69|  14.1k|        XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  14.1k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   70|  14.1k|        (void) bytes;
   71|  14.1k|        return r;
   72|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_0_sEPS1_m:
   74|  14.1k|    static noinline XSPAN_0(T) make_span_0_s(T *p, size_t bytes) {
   75|  14.1k|        XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  14.1k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   76|  14.1k|        (void) bytes;
   77|  14.1k|        return r;
   78|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_p_sEPS1_m:
   79|  14.1k|    static noinline XSPAN_P(T) make_span_p_s(T *p, size_t bytes) {
   80|  14.1k|        XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  14.1k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   81|  14.1k|        (void) bytes;
   82|  14.1k|        return r;
   83|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_s_sEPS1_m:
   84|  14.1k|    static noinline XSPAN_S(T) make_span_s_s(T *p, size_t bytes) {
   85|  14.1k|        XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  14.1k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   86|  14.1k|        (void) bytes;
   87|  14.1k|        return r;
   88|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE10var_span_0EPS1_m:
   91|  14.1k|    static noinline XSPAN_0(T) var_span_0(T *p, size_t bytes) {
   92|  14.1k|        XSPAN_0_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  14.1k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   93|  14.1k|        (void) bytes;
   94|  14.1k|        return r;
   95|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE10var_span_pEPS1_m:
   96|  14.1k|    static noinline XSPAN_P(T) var_span_p(T *p, size_t bytes) {
   97|  14.1k|        XSPAN_P_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  14.1k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   98|  14.1k|        (void) bytes;
   99|  14.1k|        return r;
  100|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE10var_span_sEPS1_m:
  101|  14.1k|    static noinline XSPAN_S(T) var_span_s(T *p, size_t bytes) {
  102|  14.1k|        XSPAN_S_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  14.1k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  103|  14.1k|        (void) bytes;
  104|  14.1k|        return r;
  105|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE17type_cast_const_0EPS1_m:
  124|  14.1k|    static noinline XSPAN_0(const LE32) type_cast_const_0(T *p, size_t bytes) {
  125|  14.1k|        XSPAN_0_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  14.1k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  126|  14.1k|        (void) bytes;
  127|  14.1k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.1k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  128|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE17type_cast_const_pEPS1_m:
  129|  14.1k|    static noinline XSPAN_P(const LE32) type_cast_const_p(T *p, size_t bytes) {
  130|  14.1k|        XSPAN_P_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  14.1k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  131|  14.1k|        (void) bytes;
  132|  14.1k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.1k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  133|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE17type_cast_const_sEPS1_m:
  134|  14.1k|    static noinline XSPAN_S(const LE32) type_cast_const_s(T *p, size_t bytes) {
  135|  14.1k|        XSPAN_S_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  14.1k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  136|  14.1k|        (void) bytes;
  137|  14.1k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.1k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  138|  14.1k|    }
dt_cxxlib.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
  349|  14.1k|TEST_CASE("std::vector") {
  350|  14.1k|    constexpr size_t N = 16;
  351|  14.1k|    std::vector<int> v(N);
  352|  14.1k|    CHECK(v.end() - v.begin() == N);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  353|  14.1k|    CHECK(&v[0] == &(*(v.begin())));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  354|       |    // CHECK(&v[0] + N == &(*(v.end()))); // TODO later: is this legal??
  355|       |#if defined(_LIBCPP_HARDENING_MODE) && defined(_LIBCPP_HARDENING_MODE_DEBUG) &&                    \
  356|       |    (_LIBCPP_HARDENING_MODE == _LIBCPP_HARDENING_MODE_DEBUG)
  357|       |    // unfortunately this does NOT throw but ABORTS
  358|       |    ////CHECK_THROWS((void) &v[N]);
  359|       |#endif
  360|  14.1k|    UNUSED(v);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  361|  14.1k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_119DOCTEST_ANON_FUNC_8Ev:
  400|  14.1k|TEST_CASE("UPX_CXX_DISABLE_xxx") {
  401|  14.1k|    MyType1<char, int, 1> dummy1;
  402|  14.1k|    MyType2<char, int, 2> dummy2;
  403|  14.1k|    MyVType1<char, int, 1> vdummy1;
  404|  14.1k|    MyVType2<char, int, 2> vdummy2;
  405|  14.1k|    (void) dummy1;
  406|  14.1k|    (void) dummy2;
  407|  14.1k|    (void) vdummy1;
  408|  14.1k|    (void) vdummy2;
  409|  14.1k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_17MyType1IciLi1EEC2Ev:
  370|  14.1k|    MyType1() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_17MyType2IciLi2EEC2Ev:
  377|  14.1k|    MyType2() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType1IciLi1EEC2Ev:
  385|  14.1k|    MyVType1() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType2IciLi2EEC2Ev:
  393|  14.1k|    MyVType2() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType2IciLi2EED2Ev:
  394|  14.1k|    virtual ~MyVType2() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType1IciLi1EED2Ev:
  386|  14.1k|    virtual ~MyVType1() noexcept {}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
  480|  14.1k|TEST_CASE("upx::noncopyable") {
  481|  14.1k|    struct Test : private upx::noncopyable {
  482|  14.1k|        int v = 1;
  483|  14.1k|    };
  484|  14.1k|    Test t = {};
  485|  14.1k|    CHECK(t.v == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  486|       |#if (ACC_CC_MSC) // MSVC thinks that Test is not std::is_trivially_copyable; true or compiler bug?
  487|       |    // @COMPILER_BUG @MSVC_BUG
  488|       |    t.v = 0;
  489|       |#else
  490|  14.1k|    mem_clear(&t);
  491|  14.1k|#endif
  492|  14.1k|    CHECK(t.v == 0);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  493|  14.1k|    constexpr Test x = {};
  494|  14.1k|    static_assert(x.v == 1);
  495|  14.1k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
  687|  14.1k|TEST_CASE("upx::ptr_static_cast") {
  688|       |    // check that we do not trigger any -Wcast-align warnings
  689|  14.1k|    using upx::ptr_static_cast;
  690|       |
  691|  14.1k|    void *vp = nullptr;
  692|  14.1k|    byte *bp = nullptr;
  693|  14.1k|    int *ip = nullptr;
  694|  14.1k|    double *dp = nullptr;
  695|       |
  696|  14.1k|    assert((vp == ptr_static_cast<void *>(vp)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  697|  14.1k|    assert((vp == ptr_static_cast<void *>(bp)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  698|  14.1k|    assert((vp == ptr_static_cast<void *>(ip)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  699|  14.1k|    assert((vp == ptr_static_cast<void *>(dp)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  700|       |
  701|  14.1k|    assert((bp == ptr_static_cast<byte *>(vp)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  702|  14.1k|    assert((bp == ptr_static_cast<byte *>(bp)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  703|  14.1k|    assert((bp == ptr_static_cast<byte *>(ip)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  704|  14.1k|    assert((bp == ptr_static_cast<byte *>(dp)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  705|       |
  706|  14.1k|    assert((ip == ptr_static_cast<int *>(vp)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  707|  14.1k|    assert((ip == ptr_static_cast<int *>(bp)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  708|  14.1k|    assert((ip == ptr_static_cast<int *>(ip)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  709|  14.1k|    assert((ip == ptr_static_cast<int *>(dp)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  710|       |
  711|  14.1k|    assert((dp == ptr_static_cast<double *>(vp)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  712|  14.1k|    assert((dp == ptr_static_cast<double *>(bp)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  713|  14.1k|    assert((dp == ptr_static_cast<double *>(ip)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  714|  14.1k|    assert((dp == ptr_static_cast<double *>(dp)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  715|       |
  716|      0|    const byte *bc = nullptr;
  717|  14.1k|    const int *ic = nullptr;
  718|  14.1k|    assert((bc == ptr_static_cast<byte *>(bp)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  719|  14.1k|    assert((bc == ptr_static_cast<const byte *>(bc)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  720|  14.1k|    assert((bc == ptr_static_cast<byte *>(ip)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  721|  14.1k|    assert((bc == ptr_static_cast<const byte *>(ic)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  722|  14.1k|    assert((ic == ptr_static_cast<int *>(bp)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  723|  14.1k|    assert((ic == ptr_static_cast<const int *>(bc)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  724|  14.1k|    assert((ic == ptr_static_cast<int *>(ip)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  725|  14.1k|    assert((ic == ptr_static_cast<const int *>(ic)));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  726|  14.1k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_14v:
  728|  14.1k|TEST_CASE("upx::ptr_static_cast constexpr 1") {
  729|       |    // check that casts work at compile-time
  730|  14.1k|    using upx::ptr_static_cast;
  731|       |
  732|  14.1k|    constexpr void *vp = nullptr;
  733|  14.1k|    constexpr byte *bp = nullptr;
  734|  14.1k|    constexpr int *ip = nullptr;
  735|  14.1k|    constexpr double *dp = nullptr;
  736|  14.1k|    static_assert((vp == ptr_static_cast<void *>(vp)));
  737|  14.1k|    static_assert((bp == ptr_static_cast<byte *>(bp)));
  738|  14.1k|    static_assert((ip == ptr_static_cast<int *>(ip)));
  739|  14.1k|    static_assert((dp == ptr_static_cast<double *>(dp)));
  740|       |
  741|  14.1k|    constexpr const void *vc = nullptr;
  742|  14.1k|    constexpr const byte *bc = nullptr;
  743|  14.1k|    constexpr const int *ic = nullptr;
  744|  14.1k|    constexpr const double *dc = nullptr;
  745|  14.1k|    static_assert((vc == ptr_static_cast<const void *>(vc)));
  746|  14.1k|    static_assert((bc == ptr_static_cast<const byte *>(bc)));
  747|  14.1k|    static_assert((ic == ptr_static_cast<const int *>(ic)));
  748|  14.1k|    static_assert((dc == ptr_static_cast<const double *>(dc)));
  749|       |
  750|  14.1k|    constexpr void **vpp = nullptr;
  751|  14.1k|    constexpr byte **bpp = nullptr;
  752|  14.1k|    constexpr int **ipp = nullptr;
  753|  14.1k|    constexpr double **dpp = nullptr;
  754|  14.1k|    static_assert((vpp == ptr_static_cast<void **>(vpp)));
  755|  14.1k|    static_assert((bpp == ptr_static_cast<byte **>(bpp)));
  756|  14.1k|    static_assert((ipp == ptr_static_cast<int **>(ipp)));
  757|  14.1k|    static_assert((dpp == ptr_static_cast<double **>(dpp)));
  758|       |
  759|  14.1k|    constexpr const void **vcp = nullptr;
  760|  14.1k|    constexpr const byte **bcp = nullptr;
  761|  14.1k|    constexpr const int **icp = nullptr;
  762|  14.1k|    constexpr const double **dcp = nullptr;
  763|  14.1k|    static_assert((vcp == ptr_static_cast<const void **>(vcp)));
  764|  14.1k|    static_assert((bcp == ptr_static_cast<const byte **>(bcp)));
  765|  14.1k|    static_assert((icp == ptr_static_cast<const int **>(icp)));
  766|  14.1k|    static_assert((dcp == ptr_static_cast<const double **>(dcp)));
  767|       |
  768|  14.1k|    constexpr void *const *vpc = nullptr;
  769|  14.1k|    constexpr byte *const *bpc = nullptr;
  770|  14.1k|    constexpr int *const *ipc = nullptr;
  771|  14.1k|    constexpr double *const *dpc = nullptr;
  772|  14.1k|    static_assert((vpc == ptr_static_cast<void *const *>(vpc)));
  773|  14.1k|    static_assert((bpc == ptr_static_cast<byte *const *>(bpc)));
  774|  14.1k|    static_assert((ipc == ptr_static_cast<int *const *>(ipc)));
  775|  14.1k|    static_assert((dpc == ptr_static_cast<double *const *>(dpc)));
  776|       |
  777|  14.1k|    constexpr const void *const *vcc = nullptr;
  778|  14.1k|    constexpr const byte *const *bcc = nullptr;
  779|  14.1k|    constexpr const int *const *icc = nullptr;
  780|  14.1k|    constexpr const double *const *dcc = nullptr;
  781|  14.1k|    static_assert((vcc == ptr_static_cast<const void *const *>(vcc)));
  782|  14.1k|    static_assert((bcc == ptr_static_cast<const byte *const *>(bcc)));
  783|  14.1k|    static_assert((icc == ptr_static_cast<const int *const *>(icc)));
  784|  14.1k|    static_assert((dcc == ptr_static_cast<const double *const *>(dcc)));
  785|  14.1k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_16v:
  787|  14.1k|TEST_CASE("upx::ptr_static_cast constexpr 2") {
  788|       |    // check that casts work at compile-time
  789|  14.1k|    using upx::ptr_static_cast;
  790|       |
  791|  14.1k|    constexpr void *vp = nullptr;
  792|  14.1k|    constexpr byte *bp = nullptr;
  793|  14.1k|    constexpr int *ip = nullptr;
  794|  14.1k|    constexpr double *dp = nullptr;
  795|  14.1k|    static_assert((vp == static_cast<void *>(vp)));
  796|  14.1k|    static_assert((vp == static_cast<void *>(bp)));
  797|  14.1k|    static_assert((vp == static_cast<void *>(ip)));
  798|  14.1k|    static_assert((vp == static_cast<void *>(dp)));
  799|  14.1k|    static_assert((vp == ptr_static_cast<void *>(vp)));
  800|  14.1k|    static_assert((vp == ptr_static_cast<void *>(bp)));
  801|  14.1k|    static_assert((vp == ptr_static_cast<void *>(ip)));
  802|  14.1k|    static_assert((vp == ptr_static_cast<void *>(dp)));
  803|       |
  804|  14.1k|    constexpr const void *vc = nullptr;
  805|  14.1k|    constexpr const byte *bc = nullptr;
  806|  14.1k|    constexpr const int *ic = nullptr;
  807|  14.1k|    constexpr const double *dc = nullptr;
  808|  14.1k|    static_assert((vc == static_cast<const void *>(vp)));
  809|  14.1k|    static_assert((vc == static_cast<const void *>(bp)));
  810|  14.1k|    static_assert((vc == static_cast<const void *>(ip)));
  811|  14.1k|    static_assert((vc == static_cast<const void *>(dp)));
  812|  14.1k|    static_assert((vc == ptr_static_cast<const void *>(vp)));
  813|  14.1k|    static_assert((vc == ptr_static_cast<const void *>(dp)));
  814|  14.1k|    static_assert((vc == ptr_static_cast<const void *>(bp)));
  815|  14.1k|    static_assert((vc == ptr_static_cast<const void *>(ip)));
  816|  14.1k|    static_assert((vc == static_cast<const void *>(vc)));
  817|  14.1k|    static_assert((vc == static_cast<const void *>(bc)));
  818|  14.1k|    static_assert((vc == static_cast<const void *>(ic)));
  819|  14.1k|    static_assert((vc == static_cast<const void *>(dc)));
  820|  14.1k|    static_assert((vc == ptr_static_cast<const void *>(vc)));
  821|  14.1k|    static_assert((vc == ptr_static_cast<const void *>(dc)));
  822|  14.1k|    static_assert((vc == ptr_static_cast<const void *>(bc)));
  823|  14.1k|    static_assert((vc == ptr_static_cast<const void *>(ic)));
  824|       |
  825|       |    // these are invalid:
  826|       |    //// constexpr char *cc1 = static_cast<char *>(bp);
  827|       |    //// constexpr char *cc2 = ptr_static_cast<char *>(bp);
  828|       |    //// constexpr unsigned *uc1 = static_cast<unsigned *>(ip);
  829|       |    //// constexpr unsigned *uc2 = ptr_static_cast<unsigned *>(ip);
  830|  14.1k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_18v:
  853|  14.1k|TEST_CASE("upx::atomic_exchange") {
  854|  14.1k|    {
  855|  14.1k|        upx_uintptr_t x = (upx_uintptr_t) 0 - 1;
  856|  14.1k|        upx_uintptr_t y = upx::atomic_exchange(&x, (upx_uintptr_t) 2);
  857|  14.1k|        CHECK_EQ(x, 2);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  858|  14.1k|        CHECK_EQ(y, (upx_uintptr_t) 0 - 1);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  859|  14.1k|        UNUSED(y);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  860|  14.1k|    }
  861|  14.1k|    {
  862|  14.1k|        const int buf[2] = {101, 202};
  863|  14.1k|        const int *ptr_array[2] = {&buf[0], &buf[1]};
  864|  14.1k|        assert_noexcept(*ptr_array[0] == 101 && *ptr_array[1] == 202);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  865|      0|        const int *p = upx::atomic_exchange(&ptr_array[0], ptr_array[1]);
  866|  14.1k|        CHECK_EQ(p, buf + 0);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  867|  14.1k|        assert_noexcept(*ptr_array[0] == 202 && *ptr_array[1] == 202);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  868|      0|        p = upx::atomic_exchange(&ptr_array[1], p);
  869|  14.1k|        CHECK_EQ(p, buf + 1);
  ------------------
  |  | 3016|  14.1k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.1k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.1k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.1k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.1k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  870|  14.1k|        assert_noexcept(*ptr_array[0] == 202 && *ptr_array[1] == 101);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  871|  14.1k|        UNUSED(p);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  872|  14.1k|    }
  873|  14.1k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_20v:
  875|  14.1k|TEST_CASE("upx::ObjectDeleter 1") {
  876|  14.1k|    LE16 *o = nullptr; // object
  877|  14.1k|    LE32 *a = nullptr; // array
  878|  14.1k|    LE64 *m = nullptr; // malloc
  879|  14.1k|    {
  880|       |        // auto o_deleter = upx::ObjectDeleter(&o, 1);
  881|  14.1k|        upx::ObjectDeleter<LE16> o_deleter = upx::ObjectDeleter(&o, 1);
  882|  14.1k|        o = new LE16;
  883|  14.1k|        assert(o != nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  884|      0|        auto a_deleter = upx::ArrayDeleter(&a, 1);
  885|  14.1k|        a = New(LE32, 1);
  ------------------
  |  |   90|  14.1k|#define New(type, n) (NewT<type>((n)))
  ------------------
  886|  14.1k|        assert(a != nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  887|      0|        auto m_deleter = upx::MallocDeleter(&m, 1);
  888|  14.1k|        m = (LE64 *) ::malloc(sizeof(LE64));
  889|  14.1k|        assert(m != nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  890|  14.1k|    }
  891|  14.1k|    assert(o == nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  892|  14.1k|    assert(a == nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  893|  14.1k|    assert(m == nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  894|       |    // test "const" versions
  895|      0|    {
  896|  14.1k|        const auto o_deleter = upx::ObjectDeleter(&o, 1);
  897|  14.1k|        o = new LE16;
  898|  14.1k|        assert(o != nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  899|      0|        const auto a_deleter = upx::ArrayDeleter(&a, 1);
  900|  14.1k|        a = New(LE32, 1);
  ------------------
  |  |   90|  14.1k|#define New(type, n) (NewT<type>((n)))
  ------------------
  901|  14.1k|        assert(a != nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  902|      0|        const auto m_deleter = upx::MallocDeleter(&m, 1);
  903|  14.1k|        m = (LE64 *) ::malloc(sizeof(LE64));
  904|  14.1k|        assert(m != nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  905|  14.1k|    }
  906|  14.1k|    assert(o == nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  907|  14.1k|    assert(a == nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  908|  14.1k|    assert(m == nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  909|  14.1k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_22v:
  911|  14.1k|TEST_CASE("upx::ObjectDeleter 2") {
  912|  14.1k|    constexpr size_t N = 2;
  913|  14.1k|    BE16 *o[N]; // multiple objects
  914|  14.1k|    BE32 *a[N]; // multiple arrays
  915|  14.1k|    BE64 *m[N]; // multiple mallocs
  916|  14.1k|    {
  917|       |        // auto o_deleter = upx::ObjectDeleter(o, 0);
  918|  14.1k|        upx::ObjectDeleter<BE16> o_deleter = upx::ObjectDeleter(o, 0);
  919|  14.1k|        auto a_deleter = upx::ArrayDeleter(a, 0);
  920|  14.1k|        auto m_deleter = upx::MallocDeleter(m, 0);
  921|  42.4k|        for (size_t i = 0; i < N; i++) {
  ------------------
  |  Branch (921:28): [True: 28.2k, False: 14.1k]
  ------------------
  922|  28.2k|            o[i] = new BE16;
  923|  28.2k|            assert(o[i] != nullptr);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  924|      0|            o_deleter.count += 1;
  925|  28.2k|            a[i] = New(BE32, 1 + i);
  ------------------
  |  |   90|  28.2k|#define New(type, n) (NewT<type>((n)))
  ------------------
  926|  28.2k|            assert(a[i] != nullptr);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  927|      0|            a_deleter.count += 1;
  928|  28.2k|            m[i] = (BE64 *) ::malloc(sizeof(BE64));
  929|  28.2k|            assert(m[i] != nullptr);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  930|      0|            m_deleter.count += 1;
  931|  28.2k|        }
  932|  14.1k|    }
  933|  42.4k|    for (size_t i = 0; i < N; i++) {
  ------------------
  |  Branch (933:24): [True: 28.2k, False: 14.1k]
  ------------------
  934|  28.2k|        assert(o[i] == nullptr);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  935|  28.2k|        assert(a[i] == nullptr);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  936|  28.2k|        assert(m[i] == nullptr);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  937|  28.2k|    }
  938|  14.1k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_24v:
 1193|  14.1k|TEST_CASE("upx::compile_time") {
 1194|  14.1k|    constexpr upx_uint16_t v16 = 0x0201;
 1195|  14.1k|    constexpr upx_uint32_t v24 = 0x030201;
 1196|  14.1k|    constexpr upx_uint32_t v32 = 0x04030201;
 1197|  14.1k|    constexpr upx_uint64_t v64 = 0x0807060504030201ull;
 1198|  14.1k|    {
 1199|  14.1k|        static_assert(upx::compile_time::bswap16(v16) == 0x0102);
 1200|  14.1k|        static_assert(upx::compile_time::bswap32(v32) == 0x01020304);
 1201|  14.1k|        static_assert(upx::compile_time::bswap64(v64) == 0x0102030405060708ull);
 1202|  14.1k|        assert_noexcept(TestCT::noinline_bswap16(v16) == 0x0102);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1203|  14.1k|        assert_noexcept(TestCT::noinline_bswap32(v32) == 0x01020304);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1204|  14.1k|        assert_noexcept(TestCT::noinline_bswap64(v64) == 0x0102030405060708ull);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1205|  14.1k|    }
 1206|      0|    {
 1207|  14.1k|        constexpr const byte d[8] = {1, 2, 3, 4, 5, 6, 7, 8};
 1208|  14.1k|        static_assert(upx::compile_time::get_be16(d) == 0x0102);
 1209|  14.1k|        static_assert(upx::compile_time::get_be24(d) == 0x010203);
 1210|  14.1k|        static_assert(upx::compile_time::get_be32(d) == 0x01020304);
 1211|  14.1k|        static_assert(upx::compile_time::get_be64(d) == 0x0102030405060708ull);
 1212|  14.1k|        static_assert(upx::compile_time::get_le16(d) == 0x0201);
 1213|  14.1k|        static_assert(upx::compile_time::get_le24(d) == 0x030201);
 1214|  14.1k|        static_assert(upx::compile_time::get_le32(d) == 0x04030201);
 1215|  14.1k|        static_assert(upx::compile_time::get_le64(d) == 0x0807060504030201ull);
 1216|  14.1k|    }
 1217|  14.1k|    {
 1218|  14.1k|        using upx::compile_time::mem_eq;
 1219|  14.1k|        upx_alignas_max byte aligned_buffer[16] = {};
  ------------------
  |  |  157|  14.1k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
 1220|  14.1k|        upx::compile_time::mem_set(aligned_buffer, 0xff, 16);
 1221|  14.1k|        assert_noexcept(mem_eq(aligned_buffer, aligned_buffer + 8, 8));
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1222|      0|        byte *const buf = aligned_buffer + 7;
 1223|       |
 1224|  14.1k|        constexpr auto be16 = TestCT::makeBE16(v16);
 1225|  14.1k|        static_assert(upx::compile_time::get_be16(be16.d) == v16);
 1226|  14.1k|        static_assert(mem_eq(be16.d, "\x02\x01", 2));
 1227|  14.1k|        upx::compile_time::mem_clear(buf, 8);
 1228|  14.1k|        TestCT::noinline_set_be16(buf, v16);
 1229|  14.1k|        assert_noexcept(TestCT::noinline_get_be16(buf) == v16);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1230|  14.1k|        assert_noexcept(upx::compile_time::get_be16(buf) == v16);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1231|  14.1k|        assert_noexcept(memcmp(buf, be16.d, 8) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1232|       |
 1233|      0|        constexpr auto be24 = TestCT::makeBE24(v24);
 1234|  14.1k|        static_assert(upx::compile_time::get_be24(be24.d) == v24);
 1235|  14.1k|        static_assert(mem_eq(be24.d, "\x03\x02\x01", 3));
 1236|  14.1k|        upx::compile_time::mem_clear(buf, 8);
 1237|  14.1k|        TestCT::noinline_set_be24(buf, v24);
 1238|  14.1k|        assert_noexcept(TestCT::noinline_get_be24(buf) == v24);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1239|  14.1k|        assert_noexcept(upx::compile_time::get_be24(buf) == v24);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1240|  14.1k|        assert_noexcept(memcmp(buf, be24.d, 8) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1241|       |
 1242|      0|        constexpr auto be32 = TestCT::makeBE32(v32);
 1243|  14.1k|        static_assert(upx::compile_time::get_be32(be32.d) == v32);
 1244|  14.1k|        static_assert(mem_eq(be32.d, "\x04\x03\x02\x01", 4));
 1245|  14.1k|        upx::compile_time::mem_clear(buf, 8);
 1246|  14.1k|        TestCT::noinline_set_be32(buf, v32);
 1247|  14.1k|        assert_noexcept(TestCT::noinline_get_be32(buf) == v32);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1248|  14.1k|        assert_noexcept(upx::compile_time::get_be32(buf) == v32);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1249|  14.1k|        assert_noexcept(memcmp(buf, be32.d, 8) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1250|       |
 1251|      0|        constexpr auto be64 = TestCT::makeBE64(v64);
 1252|  14.1k|        static_assert(upx::compile_time::get_be64(be64.d) == v64);
 1253|  14.1k|        static_assert(mem_eq(be64.d, "\x08\x07\x06\x05\x04\x03\x02\x01", 8));
 1254|  14.1k|        upx::compile_time::mem_clear(buf, 8);
 1255|  14.1k|        TestCT::noinline_set_be64(buf, v64);
 1256|  14.1k|        assert_noexcept(TestCT::noinline_get_be64(buf) == v64);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1257|  14.1k|        assert_noexcept(upx::compile_time::get_be64(buf) == v64);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1258|  14.1k|        assert_noexcept(memcmp(buf, be64.d, 8) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1259|       |
 1260|      0|        constexpr auto le16 = TestCT::makeLE16(v16);
 1261|  14.1k|        static_assert(upx::compile_time::get_le16(le16.d) == v16);
 1262|  14.1k|        static_assert(mem_eq(le16.d, "\x01\x02", 2));
 1263|  14.1k|        upx::compile_time::mem_clear(buf, 8);
 1264|  14.1k|        TestCT::noinline_set_le16(buf, v16);
 1265|  14.1k|        assert_noexcept(TestCT::noinline_get_le16(buf) == v16);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1266|  14.1k|        assert_noexcept(upx::compile_time::get_le16(buf) == v16);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1267|  14.1k|        assert_noexcept(memcmp(buf, le16.d, 8) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1268|       |
 1269|      0|        constexpr auto le24 = TestCT::makeLE24(v24);
 1270|  14.1k|        static_assert(upx::compile_time::get_le24(le24.d) == v24);
 1271|  14.1k|        static_assert(mem_eq(le24.d, "\x01\x02\x03", 3));
 1272|  14.1k|        upx::compile_time::mem_clear(buf, 8);
 1273|  14.1k|        TestCT::noinline_set_le24(buf, v24);
 1274|  14.1k|        assert_noexcept(TestCT::noinline_get_le24(buf) == v24);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1275|  14.1k|        assert_noexcept(upx::compile_time::get_le24(buf) == v24);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1276|  14.1k|        assert_noexcept(memcmp(buf, le24.d, 8) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1277|       |
 1278|      0|        constexpr auto le32 = TestCT::makeLE32(v32);
 1279|  14.1k|        static_assert(upx::compile_time::get_le32(le32.d) == v32);
 1280|  14.1k|        static_assert(mem_eq(le32.d, "\x01\x02\x03\x04", 4));
 1281|  14.1k|        upx::compile_time::mem_clear(buf, 8);
 1282|  14.1k|        TestCT::noinline_set_le32(buf, v32);
 1283|  14.1k|        assert_noexcept(TestCT::noinline_get_le32(buf) == v32);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1284|  14.1k|        assert_noexcept(upx::compile_time::get_le32(buf) == v32);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1285|  14.1k|        assert_noexcept(memcmp(buf, le32.d, 8) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1286|       |
 1287|      0|        constexpr auto le64 = TestCT::makeLE64(v64);
 1288|  14.1k|        static_assert(upx::compile_time::get_le64(le64.d) == v64);
 1289|  14.1k|        static_assert(mem_eq(le64.d, "\x01\x02\x03\x04\x05\x06\x07\x08", 8));
 1290|  14.1k|        upx::compile_time::mem_clear(buf, 8);
 1291|  14.1k|        TestCT::noinline_set_le64(buf, v64);
 1292|  14.1k|        assert_noexcept(TestCT::noinline_get_le64(buf) == v64);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1293|  14.1k|        assert_noexcept(upx::compile_time::get_le64(buf) == v64);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1294|  14.1k|        assert_noexcept(memcmp(buf, le64.d, 8) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1295|       |
 1296|      0|        static_assert(upx::compile_time::bswap16(upx::compile_time::get_be16(be16.d)) ==
 1297|  14.1k|                      upx::compile_time::get_be16(le16.d));
 1298|  14.1k|        static_assert(upx::compile_time::bswap32(upx::compile_time::get_be32(be32.d)) ==
 1299|  14.1k|                      upx::compile_time::get_be32(le32.d));
 1300|  14.1k|        static_assert(upx::compile_time::bswap64(upx::compile_time::get_be64(be64.d)) ==
 1301|  14.1k|                      upx::compile_time::get_be64(le64.d));
 1302|  14.1k|        assert_noexcept(TestCT::noinline_bswap16(TestCT::noinline_get_be16(be16.d)) ==
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1303|  14.1k|                        TestCT::noinline_get_be16(le16.d));
 1304|  14.1k|        assert_noexcept(TestCT::noinline_bswap32(TestCT::noinline_get_be32(be32.d)) ==
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1305|  14.1k|                        TestCT::noinline_get_be32(le32.d));
 1306|  14.1k|        assert_noexcept(TestCT::noinline_bswap64(TestCT::noinline_get_be64(be64.d)) ==
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1307|  14.1k|                        TestCT::noinline_get_be64(le64.d));
 1308|  14.1k|    }
 1309|  14.1k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT16noinline_bswap16Et:
 1028|  42.4k|    static noinline upx_uint16_t noinline_bswap16(upx_uint16_t v) noexcept {
 1029|  42.4k|        return upx::compile_time::bswap16(v);
  ------------------
  |  |  347|  42.4k|#define bswap16 upx_bswap16
  ------------------
 1030|  42.4k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT16noinline_bswap32Ej:
 1031|  42.4k|    static noinline upx_uint32_t noinline_bswap32(upx_uint32_t v) noexcept {
 1032|  42.4k|        return upx::compile_time::bswap32(v);
  ------------------
  |  |  348|  42.4k|#define bswap32 upx_bswap32
  ------------------
 1033|  42.4k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT16noinline_bswap64Ey:
 1034|  42.4k|    static noinline upx_uint64_t noinline_bswap64(upx_uint64_t v) noexcept {
 1035|  42.4k|        return upx::compile_time::bswap64(v);
  ------------------
  |  |  349|  42.4k|#define bswap64 upx_bswap64
  ------------------
 1036|  42.4k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be16EPht:
 1063|  28.2k|    static noinline void noinline_set_be16(byte * p, upx_uint16_t v) noexcept {
 1064|  28.2k|        upx::compile_time::set_be16(p, v);
 1065|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be16EPKh:
 1038|  70.7k|    static noinline upx_uint16_t noinline_get_be16(const byte *p) noexcept {
 1039|  70.7k|        return upx::compile_time::get_be16(p);
 1040|  70.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be24EPhj:
 1066|  28.2k|    static noinline void noinline_set_be24(byte * p, upx_uint32_t v) noexcept {
 1067|  28.2k|        upx::compile_time::set_be24(p, v);
 1068|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be24EPKh:
 1041|  42.4k|    static noinline upx_uint32_t noinline_get_be24(const byte *p) noexcept {
 1042|  42.4k|        return upx::compile_time::get_be24(p);
 1043|  42.4k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be32EPhj:
 1069|  28.2k|    static noinline void noinline_set_be32(byte * p, upx_uint32_t v) noexcept {
 1070|  28.2k|        upx::compile_time::set_be32(p, v);
 1071|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be32EPKh:
 1044|  70.7k|    static noinline upx_uint32_t noinline_get_be32(const byte *p) noexcept {
 1045|  70.7k|        return upx::compile_time::get_be32(p);
 1046|  70.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be64EPhy:
 1072|  28.2k|    static noinline void noinline_set_be64(byte * p, upx_uint64_t v) noexcept {
 1073|  28.2k|        upx::compile_time::set_be64(p, v);
 1074|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be64EPKh:
 1047|  70.7k|    static noinline upx_uint64_t noinline_get_be64(const byte *p) noexcept {
 1048|  70.7k|        return upx::compile_time::get_be64(p);
 1049|  70.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le16EPht:
 1075|  28.2k|    static noinline void noinline_set_le16(byte * p, upx_uint16_t v) noexcept {
 1076|  28.2k|        upx::compile_time::set_le16(p, v);
 1077|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le16EPKh:
 1050|  42.4k|    static noinline upx_uint16_t noinline_get_le16(const byte *p) noexcept {
 1051|  42.4k|        return upx::compile_time::get_le16(p);
 1052|  42.4k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le24EPhj:
 1078|  28.2k|    static noinline void noinline_set_le24(byte * p, upx_uint32_t v) noexcept {
 1079|  28.2k|        upx::compile_time::set_le24(p, v);
 1080|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le24EPKh:
 1053|  42.4k|    static noinline upx_uint32_t noinline_get_le24(const byte *p) noexcept {
 1054|  42.4k|        return upx::compile_time::get_le24(p);
 1055|  42.4k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le32EPhj:
 1081|  28.2k|    static noinline void noinline_set_le32(byte * p, upx_uint32_t v) noexcept {
 1082|  28.2k|        upx::compile_time::set_le32(p, v);
 1083|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le32EPKh:
 1056|  42.4k|    static noinline upx_uint32_t noinline_get_le32(const byte *p) noexcept {
 1057|  42.4k|        return upx::compile_time::get_le32(p);
 1058|  42.4k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le64EPhy:
 1084|  28.2k|    static noinline void noinline_set_le64(byte * p, upx_uint64_t v) noexcept {
 1085|  28.2k|        upx::compile_time::set_le64(p, v);
 1086|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le64EPKh:
 1059|  42.4k|    static noinline upx_uint64_t noinline_get_le64(const byte *p) noexcept {
 1060|  42.4k|        return upx::compile_time::get_le64(p);
 1061|  42.4k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_26v:
 1311|  14.1k|TEST_CASE("upx::run_time 1a") {
 1312|  14.1k|    const upx_uint16_t v16 = upx_uint16_t(acc_vget_acc_int64l_t(0xf2f1, 0));
 1313|  14.1k|    const upx_uint32_t v24 = upx_uint32_t(acc_vget_acc_int64l_t(0xf3f2f1, 0));
 1314|  14.1k|    const upx_uint32_t v32 = upx_uint32_t(acc_vget_acc_int64l_t(0xf4f3f2f1, 0));
 1315|  14.1k|    const upx_uint64_t v64 = upx_uint64_t(acc_vget_acc_int64l_t(0xf8f7f6f5f4f3f2f1ull, 0));
 1316|  14.1k|    {
 1317|  14.1k|        assert_noexcept(TestCT::noinline_bswap16(v16) == 0xf1f2);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1318|  14.1k|        assert_noexcept(TestCT::noinline_bswap32(v32) == 0xf1f2f3f4);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1319|  14.1k|        assert_noexcept(TestCT::noinline_bswap64(v64) == 0xf1f2f3f4f5f6f7f8ull);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1320|  14.1k|    }
 1321|      0|    {
 1322|  14.1k|        upx_alignas_max byte aligned_buffer[32];
  ------------------
  |  |  157|  14.1k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
 1323|  14.1k|        byte *const buf1 = aligned_buffer + 3;
 1324|  14.1k|        byte *const buf2 = aligned_buffer + 13;
 1325|       |
 1326|  14.1k|        upx::compile_time::set_be16(buf1, v16);
 1327|  14.1k|        TestCT::noinline_set_be16(buf2, v16);
 1328|  14.1k|        assert_noexcept(TestCT::noinline_get_be16(buf1) == v16);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1329|  14.1k|        assert_noexcept(TestCT::noinline_get_be16(buf2) == v16);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1330|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1331|      0|        upx::compile_time::set_be24(buf1, v24);
 1332|  14.1k|        TestCT::noinline_set_be24(buf2, v24);
 1333|  14.1k|        assert_noexcept(TestCT::noinline_get_be24(buf1) == v24);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1334|  14.1k|        assert_noexcept(TestCT::noinline_get_be24(buf2) == v24);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1335|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1336|      0|        upx::compile_time::set_be32(buf1, v32);
 1337|  14.1k|        TestCT::noinline_set_be32(buf2, v32);
 1338|  14.1k|        assert_noexcept(TestCT::noinline_get_be32(buf1) == v32);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1339|  14.1k|        assert_noexcept(TestCT::noinline_get_be32(buf2) == v32);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1340|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1341|      0|        upx::compile_time::set_be64(buf1, v64);
 1342|  14.1k|        TestCT::noinline_set_be64(buf2, v64);
 1343|  14.1k|        assert_noexcept(TestCT::noinline_get_be64(buf1) == v64);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1344|  14.1k|        assert_noexcept(TestCT::noinline_get_be64(buf2) == v64);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1345|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1346|       |
 1347|      0|        upx::compile_time::set_le16(buf1, v16);
 1348|  14.1k|        TestCT::noinline_set_le16(buf2, v16);
 1349|  14.1k|        assert_noexcept(TestCT::noinline_get_le16(buf1) == v16);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1350|  14.1k|        assert_noexcept(TestCT::noinline_get_le16(buf2) == v16);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1351|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1352|      0|        upx::compile_time::set_le24(buf1, v24);
 1353|  14.1k|        TestCT::noinline_set_le24(buf2, v24);
 1354|  14.1k|        assert_noexcept(TestCT::noinline_get_le24(buf1) == v24);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1355|  14.1k|        assert_noexcept(TestCT::noinline_get_le24(buf2) == v24);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1356|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1357|      0|        upx::compile_time::set_le32(buf1, v32);
 1358|  14.1k|        TestCT::noinline_set_le32(buf2, v32);
 1359|  14.1k|        assert_noexcept(TestCT::noinline_get_le32(buf1) == v32);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1360|  14.1k|        assert_noexcept(TestCT::noinline_get_le32(buf2) == v32);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1361|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1362|      0|        upx::compile_time::set_le64(buf1, v64);
 1363|  14.1k|        TestCT::noinline_set_le64(buf2, v64);
 1364|  14.1k|        assert_noexcept(TestCT::noinline_get_le64(buf1) == v64);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1365|  14.1k|        assert_noexcept(TestCT::noinline_get_le64(buf2) == v64);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1366|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1367|  14.1k|    }
 1368|  14.1k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_28v:
 1370|  14.1k|TEST_CASE("upx::run_time 1b") {
 1371|  14.1k|    const upx_uint16_t v16 = upx_uint16_t(acc_vget_acc_int64l_t(0xf2f1, 0));
 1372|  14.1k|    const upx_uint32_t v24 = upx_uint32_t(acc_vget_acc_int64l_t(0xf3f2f1, 0));
 1373|  14.1k|    const upx_uint32_t v32 = upx_uint32_t(acc_vget_acc_int64l_t(0xf4f3f2f1, 0));
 1374|  14.1k|    const upx_uint64_t v64 = upx_uint64_t(acc_vget_acc_int64l_t(0xf8f7f6f5f4f3f2f1ull, 0));
 1375|  14.1k|    {
 1376|  14.1k|        assert_noexcept(TestXE::noinline_bswap16(v16) == 0xf1f2);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1377|  14.1k|        assert_noexcept(TestXE::noinline_bswap32(v32) == 0xf1f2f3f4);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1378|  14.1k|        assert_noexcept(TestXE::noinline_bswap64(v64) == 0xf1f2f3f4f5f6f7f8ull);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1379|  14.1k|    }
 1380|      0|    {
 1381|  14.1k|        upx_alignas_max byte aligned_buffer[32];
  ------------------
  |  |  157|  14.1k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
 1382|  14.1k|        byte *const buf1 = aligned_buffer + 3;
 1383|  14.1k|        byte *const buf2 = aligned_buffer + 13;
 1384|       |
 1385|  14.1k|        set_be16(buf1, v16);
 1386|  14.1k|        TestXE::noinline_set_be16(buf2, v16);
 1387|  14.1k|        assert_noexcept(TestXE::noinline_get_be16(buf1) == v16);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1388|  14.1k|        assert_noexcept(TestXE::noinline_get_be16(buf2) == v16);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1389|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1390|      0|        set_be24(buf1, v24);
 1391|  14.1k|        TestXE::noinline_set_be24(buf2, v24);
 1392|  14.1k|        assert_noexcept(TestXE::noinline_get_be24(buf1) == v24);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1393|  14.1k|        assert_noexcept(TestXE::noinline_get_be24(buf2) == v24);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1394|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1395|      0|        set_be32(buf1, v32);
 1396|  14.1k|        TestXE::noinline_set_be32(buf2, v32);
 1397|  14.1k|        assert_noexcept(TestXE::noinline_get_be32(buf1) == v32);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1398|  14.1k|        assert_noexcept(TestXE::noinline_get_be32(buf2) == v32);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1399|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1400|      0|        set_be64(buf1, v64);
 1401|  14.1k|        TestXE::noinline_set_be64(buf2, v64);
 1402|  14.1k|        assert_noexcept(TestXE::noinline_get_be64(buf1) == v64);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1403|  14.1k|        assert_noexcept(TestXE::noinline_get_be64(buf2) == v64);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1404|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1405|       |
 1406|      0|        set_le16(buf1, v16);
 1407|  14.1k|        TestXE::noinline_set_le16(buf2, v16);
 1408|  14.1k|        assert_noexcept(TestXE::noinline_get_le16(buf1) == v16);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1409|  14.1k|        assert_noexcept(TestXE::noinline_get_le16(buf2) == v16);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1410|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1411|      0|        set_le24(buf1, v24);
 1412|  14.1k|        TestXE::noinline_set_le24(buf2, v24);
 1413|  14.1k|        assert_noexcept(TestXE::noinline_get_le24(buf1) == v24);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1414|  14.1k|        assert_noexcept(TestXE::noinline_get_le24(buf2) == v24);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1415|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1416|      0|        set_le32(buf1, v32);
 1417|  14.1k|        TestXE::noinline_set_le32(buf2, v32);
 1418|  14.1k|        assert_noexcept(TestXE::noinline_get_le32(buf1) == v32);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1419|  14.1k|        assert_noexcept(TestXE::noinline_get_le32(buf2) == v32);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1420|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1421|      0|        set_le64(buf1, v64);
 1422|  14.1k|        TestXE::noinline_set_le64(buf2, v64);
 1423|  14.1k|        assert_noexcept(TestXE::noinline_get_le64(buf1) == v64);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1424|  14.1k|        assert_noexcept(TestXE::noinline_get_le64(buf2) == v64);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1425|  14.1k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1426|  14.1k|    }
 1427|      0|    {
 1428|   240k|        for (int i = -8; i < 8; i++) {
  ------------------
  |  Branch (1428:26): [True: 226k, False: 14.1k]
  ------------------
 1429|   226k|            {
 1430|   226k|                const unsigned u = i;
 1431|   226k|                assert_noexcept(TestXE::noinline_sign_extend32(u, 4 + (i & 1)) == i);
  ------------------
  |  |  496|   226k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1432|   226k|                assert_noexcept(TestXE::noinline_sign_extend32_4(u) == i);
  ------------------
  |  |  496|   226k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1433|   226k|                assert_noexcept(TestXE::noinline_sign_extend32_8(u) == i);
  ------------------
  |  |  496|   226k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1434|   226k|                assert_noexcept(TestXE::noinline_sign_extend32_16(u) == i);
  ------------------
  |  |  496|   226k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1435|   226k|                assert_noexcept(TestXE::noinline_sign_extend32_24(u) == i);
  ------------------
  |  |  496|   226k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1436|   226k|                assert_noexcept(TestXE::noinline_sign_extend32_32(u) == i);
  ------------------
  |  |  496|   226k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1437|   226k|            }
 1438|      0|            {
 1439|   226k|                const upx_uint64_t u = i;
 1440|   226k|                assert_noexcept(TestXE::noinline_sign_extend64(u, 4 + (i & 1)) == i);
  ------------------
  |  |  496|   226k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1441|   226k|                assert_noexcept(TestXE::noinline_sign_extend64_4(u) == i);
  ------------------
  |  |  496|   226k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1442|   226k|                assert_noexcept(TestXE::noinline_sign_extend64_8(u) == i);
  ------------------
  |  |  496|   226k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1443|   226k|                assert_noexcept(TestXE::noinline_sign_extend64_16(u) == i);
  ------------------
  |  |  496|   226k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1444|   226k|                assert_noexcept(TestXE::noinline_sign_extend64_24(u) == i);
  ------------------
  |  |  496|   226k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1445|   226k|                assert_noexcept(TestXE::noinline_sign_extend64_32(u) == i);
  ------------------
  |  |  496|   226k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1446|   226k|                assert_noexcept(TestXE::noinline_sign_extend64_48(u) == i);
  ------------------
  |  |  496|   226k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1447|   226k|                assert_noexcept(TestXE::noinline_sign_extend64_64(u) == i);
  ------------------
  |  |  496|   226k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1448|   226k|            }
 1449|   226k|        }
 1450|  14.1k|    }
 1451|  14.1k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_bswap16Et:
 1125|  14.1k|    static noinline upx_uint16_t noinline_bswap16(upx_uint16_t v) noexcept { return bswap16(v); }
  ------------------
  |  |  347|  14.1k|#define bswap16 upx_bswap16
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_bswap32Ej:
 1126|  14.1k|    static noinline upx_uint32_t noinline_bswap32(upx_uint32_t v) noexcept { return bswap32(v); }
  ------------------
  |  |  348|  14.1k|#define bswap32 upx_bswap32
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_bswap64Ey:
 1127|  14.1k|    static noinline upx_uint64_t noinline_bswap64(upx_uint64_t v) noexcept { return bswap64(v); }
  ------------------
  |  |  349|  14.1k|#define bswap64 upx_bswap64
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_be16EPht:
 1138|  14.1k|    static noinline void noinline_set_be16(byte * p, upx_uint16_t v) noexcept { set_be16(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_be16EPKh:
 1129|  28.2k|    static noinline upx_uint16_t noinline_get_be16(const byte *p) noexcept { return get_be16(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_be24EPhj:
 1139|  14.1k|    static noinline void noinline_set_be24(byte * p, upx_uint32_t v) noexcept { set_be24(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_be24EPKh:
 1130|  28.2k|    static noinline upx_uint32_t noinline_get_be24(const byte *p) noexcept { return get_be24(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_be32EPhj:
 1140|  14.1k|    static noinline void noinline_set_be32(byte * p, upx_uint32_t v) noexcept { set_be32(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_be32EPKh:
 1131|  28.2k|    static noinline upx_uint32_t noinline_get_be32(const byte *p) noexcept { return get_be32(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_be64EPhy:
 1141|  14.1k|    static noinline void noinline_set_be64(byte * p, upx_uint64_t v) noexcept { set_be64(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_be64EPKh:
 1132|  28.2k|    static noinline upx_uint64_t noinline_get_be64(const byte *p) noexcept { return get_be64(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_le16EPht:
 1142|  14.1k|    static noinline void noinline_set_le16(byte * p, upx_uint16_t v) noexcept { set_le16(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_le16EPKh:
 1133|  28.2k|    static noinline upx_uint16_t noinline_get_le16(const byte *p) noexcept { return get_le16(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_le24EPhj:
 1143|  14.1k|    static noinline void noinline_set_le24(byte * p, upx_uint32_t v) noexcept { set_le24(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_le24EPKh:
 1134|  28.2k|    static noinline upx_uint32_t noinline_get_le24(const byte *p) noexcept { return get_le24(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_le32EPhj:
 1144|  14.1k|    static noinline void noinline_set_le32(byte * p, upx_uint32_t v) noexcept { set_le32(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_le32EPKh:
 1135|  28.2k|    static noinline upx_uint32_t noinline_get_le32(const byte *p) noexcept { return get_le32(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_le64EPhy:
 1145|  14.1k|    static noinline void noinline_set_le64(byte * p, upx_uint64_t v) noexcept { set_le64(p, v); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_get_le64EPKh:
 1136|  28.2k|    static noinline upx_uint64_t noinline_get_le64(const byte *p) noexcept { return get_le64(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_sign_extend32Ejj:
 1147|   226k|    static noinline int noinline_sign_extend32(unsigned v, unsigned bits) noexcept {
 1148|   226k|        return sign_extend32(v, bits);
 1149|   226k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend32_4Ej:
 1154|   226k|    static noinline int noinline_sign_extend32_4(unsigned v) noexcept {
 1155|   226k|        return sign_extend32(v, 4);
 1156|   226k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend32_8Ej:
 1157|   226k|    static noinline int noinline_sign_extend32_8(unsigned v) noexcept {
 1158|   226k|        return sign_extend32(v, 8);
 1159|   226k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend32_16Ej:
 1160|   226k|    static noinline int noinline_sign_extend32_16(unsigned v) noexcept {
 1161|   226k|        return sign_extend32(v, 16);
 1162|   226k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend32_24Ej:
 1163|   226k|    static noinline int noinline_sign_extend32_24(unsigned v) noexcept {
 1164|   226k|        return sign_extend32(v, 24);
 1165|   226k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend32_32Ej:
 1166|   226k|    static noinline int noinline_sign_extend32_32(unsigned v) noexcept {
 1167|   226k|        return sign_extend32(v, 32);
 1168|   226k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_sign_extend64Eyj:
 1150|   226k|    static noinline upx_int64_t noinline_sign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1151|   226k|        return sign_extend64(v, bits);
 1152|   226k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend64_4Ey:
 1169|   226k|    static noinline upx_int64_t noinline_sign_extend64_4(upx_uint64_t v) noexcept {
 1170|   226k|        return sign_extend64(v, 4);
 1171|   226k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend64_8Ey:
 1172|   226k|    static noinline upx_int64_t noinline_sign_extend64_8(upx_uint64_t v) noexcept {
 1173|   226k|        return sign_extend64(v, 8);
 1174|   226k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_16Ey:
 1175|   226k|    static noinline upx_int64_t noinline_sign_extend64_16(upx_uint64_t v) noexcept {
 1176|   226k|        return sign_extend64(v, 16);
 1177|   226k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_24Ey:
 1178|   226k|    static noinline upx_int64_t noinline_sign_extend64_24(upx_uint64_t v) noexcept {
 1179|   226k|        return sign_extend64(v, 24);
 1180|   226k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_32Ey:
 1181|   226k|    static noinline upx_int64_t noinline_sign_extend64_32(upx_uint64_t v) noexcept {
 1182|   226k|        return sign_extend64(v, 32);
 1183|   226k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_48Ey:
 1184|   226k|    static noinline upx_int64_t noinline_sign_extend64_48(upx_uint64_t v) noexcept {
 1185|   226k|        return sign_extend64(v, 48);
 1186|   226k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_64Ey:
 1187|   226k|    static noinline upx_int64_t noinline_sign_extend64_64(upx_uint64_t v) noexcept {
 1188|   226k|        return sign_extend64(v, 64);
 1189|   226k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_30v:
 1453|  14.1k|TEST_CASE("upx::run_time 2") {
 1454|  14.1k|    const upx_ptraddr_t p = upx_ptraddr_t(acc_vget_int(1, 0));
 1455|  14.1k|    const upx_ptraddr_t a = upx_ptraddr_t(acc_vget_int(8, 0));
 1456|  14.1k|    assert_noexcept(TestCT::noinline_has_single_bit(p));
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1457|  14.1k|    assert_noexcept(TestCT::noinline_align_down(p, a) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1458|  14.1k|    assert_noexcept(TestCT::noinline_align_down_gap(p, a) == 1);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1459|  14.1k|    assert_noexcept(TestCT::noinline_align_up(p, a) == 8);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1460|  14.1k|    assert_noexcept(TestCT::noinline_align_up_gap(p, a) == 7);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1461|  14.1k|    assert_noexcept(TestCT::noinline_align_down_16(p) == 0);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1462|  14.1k|    assert_noexcept(TestCT::noinline_align_down_gap_16(p) == 1);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1463|  14.1k|    assert_noexcept(TestCT::noinline_align_up_16(p) == 16);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1464|  14.1k|    assert_noexcept(TestCT::noinline_align_up_gap_16(p) == 15);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1465|  14.1k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT23noinline_has_single_bitEm:
 1088|  14.1k|    static noinline bool noinline_has_single_bit(upx_ptraddr_t p) noexcept {
 1089|  14.1k|        return upx::has_single_bit(p);
 1090|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT19noinline_align_downEmm:
 1092|  14.1k|    static noinline upx_ptraddr_t noinline_align_down(upx_ptraddr_t p, upx_ptraddr_t a) noexcept {
 1093|  14.1k|        return upx::align_down(p, a);
 1094|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT23noinline_align_down_gapEmm:
 1096|  14.1k|        noexcept {
 1097|  14.1k|        return upx::align_down_gap(p, a);
 1098|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_align_upEmm:
 1099|  14.1k|    static noinline upx_ptraddr_t noinline_align_up(upx_ptraddr_t p, upx_ptraddr_t a) noexcept {
 1100|  14.1k|        return upx::align_up(p, a);
 1101|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT21noinline_align_up_gapEmm:
 1102|  14.1k|    static noinline upx_ptraddr_t noinline_align_up_gap(upx_ptraddr_t p, upx_ptraddr_t a) noexcept {
 1103|  14.1k|        return upx::align_up_gap(p, a);
 1104|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT22noinline_align_down_16Em:
 1106|  14.1k|    static noinline upx_ptraddr_t noinline_align_down_16(upx_ptraddr_t p) noexcept {
 1107|  14.1k|        return upx::align_down(p, upx_ptraddr_t(16));
 1108|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT26noinline_align_down_gap_16Em:
 1109|  14.1k|    static noinline upx_ptraddr_t noinline_align_down_gap_16(upx_ptraddr_t p) noexcept {
 1110|  14.1k|        return upx::align_down_gap(p, upx_ptraddr_t(16));
 1111|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT20noinline_align_up_16Em:
 1112|  14.1k|    static noinline upx_ptraddr_t noinline_align_up_16(upx_ptraddr_t p) noexcept {
 1113|  14.1k|        return upx::align_up(p, upx_ptraddr_t(16));
 1114|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT24noinline_align_up_gap_16Em:
 1115|  14.1k|    static noinline upx_ptraddr_t noinline_align_up_gap_16(upx_ptraddr_t p) noexcept {
 1116|  14.1k|        return upx::align_up_gap(p, upx_ptraddr_t(16));
 1117|  14.1k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_32v:
 1573|  14.1k|TEST_CASE("codegen constant") {
 1574|  14.1k|    const int n = acc_vget_int(0, 0);
 1575|  14.1k|    {
 1576|  14.1k|        assert_noexcept2((TestConstant::noinline_zero(upx_int8_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1577|  14.1k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint8_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1578|  14.1k|        assert_noexcept2((TestConstant::noinline_zero(upx_int16_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1579|  14.1k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint16_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1580|  14.1k|        assert_noexcept2((TestConstant::noinline_zero(upx_int32_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1581|  14.1k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint32_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1582|  14.1k|        assert_noexcept2((TestConstant::noinline_zero(upx_int64_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1583|  14.1k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint64_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1584|       |
 1585|  14.1k|        assert_noexcept2((TestConstant::noinline_one(upx_int8_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1586|  14.1k|        assert_noexcept2((TestConstant::noinline_one(upx_uint8_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1587|  14.1k|        assert_noexcept2((TestConstant::noinline_one(upx_int16_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1588|  14.1k|        assert_noexcept2((TestConstant::noinline_one(upx_uint16_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1589|  14.1k|        assert_noexcept2((TestConstant::noinline_one(upx_int32_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1590|  14.1k|        assert_noexcept2((TestConstant::noinline_one(upx_uint32_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1591|  14.1k|        assert_noexcept2((TestConstant::noinline_one(upx_int64_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1592|  14.1k|        assert_noexcept2((TestConstant::noinline_one(upx_uint64_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1593|       |
 1594|  14.1k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1595|  14.1k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1596|  14.1k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int16_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1597|  14.1k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1598|  14.1k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int32_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1599|  14.1k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1600|  14.1k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int64_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1601|  14.1k|        assert_noexcept2(
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1602|  14.1k|            (TestConstant::noinline_minus_one(upx_uint64_t(n)) == 0xffffffffffffffffULL));
 1603|       |
 1604|  14.1k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1605|  14.1k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1606|  14.1k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int16_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1607|  14.1k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint16_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1608|  14.1k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int32_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1609|  14.1k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint32_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1610|  14.1k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int64_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1611|  14.1k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint64_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1612|       |
 1613|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1614|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1615|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1616|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1617|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int32_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1618|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint32_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1619|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int64_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1620|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint64_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1621|       |
 1622|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1623|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1624|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1625|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1626|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int32_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1627|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1628|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int64_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1629|  14.1k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint64_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1630|       |
 1631|  14.1k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int8_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1632|  14.1k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint8_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1633|  14.1k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int16_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1634|  14.1k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint16_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1635|  14.1k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int32_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1636|  14.1k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint32_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1637|  14.1k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int64_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1638|  14.1k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint64_t(n)) == 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1639|       |
 1640|  14.1k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int8_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1641|  14.1k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint8_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1642|  14.1k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int16_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1643|  14.1k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint16_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1644|  14.1k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int32_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1645|  14.1k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint32_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1646|  14.1k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int64_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1647|  14.1k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint64_t(n)) == 1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1648|       |
 1649|  14.1k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1650|  14.1k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1651|  14.1k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int16_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1652|  14.1k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1653|  14.1k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int32_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1654|  14.1k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1655|  14.1k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int64_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1656|  14.1k|        assert_noexcept2(
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1657|  14.1k|            (TestConstant::noinline_add_minus_one(upx_uint64_t(n)) == 0xffffffffffffffffULL));
 1658|       |
 1659|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1660|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1661|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int16_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1662|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint16_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1663|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int32_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1664|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint32_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1665|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int64_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1666|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint64_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1667|       |
 1668|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1669|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1670|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1671|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1672|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int32_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1673|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint32_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1674|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int64_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1675|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint64_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1676|       |
 1677|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1678|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1679|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1680|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1681|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int32_t(n)) == -1));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1682|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1683|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int64_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1684|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint64_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1685|       |
 1686|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int8_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1687|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint8_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1688|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int16_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1689|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint16_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1690|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int32_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1691|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint32_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1692|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int64_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1693|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint64_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1694|       |
 1695|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int8_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1696|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint8_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1697|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int16_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1698|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint16_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1699|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int32_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1700|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint32_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1701|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int64_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1702|  14.1k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint64_t(n)) != 0));
  ------------------
  |  |  497|  14.1k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1703|  14.1k|    }
 1704|  14.1k|    (void) n;
 1705|  14.1k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIaEET_S2_:
 1479|  14.1k|    static noinline T noinline_zero(T) noexcept {
 1480|  14.1k|        return T(0);
 1481|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIhEET_S2_:
 1479|  14.1k|    static noinline T noinline_zero(T) noexcept {
 1480|  14.1k|        return T(0);
 1481|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIsEET_S2_:
 1479|  14.1k|    static noinline T noinline_zero(T) noexcept {
 1480|  14.1k|        return T(0);
 1481|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroItEET_S2_:
 1479|  14.1k|    static noinline T noinline_zero(T) noexcept {
 1480|  14.1k|        return T(0);
 1481|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIiEET_S2_:
 1479|  14.1k|    static noinline T noinline_zero(T) noexcept {
 1480|  14.1k|        return T(0);
 1481|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIjEET_S2_:
 1479|  14.1k|    static noinline T noinline_zero(T) noexcept {
 1480|  14.1k|        return T(0);
 1481|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIxEET_S2_:
 1479|  14.1k|    static noinline T noinline_zero(T) noexcept {
 1480|  14.1k|        return T(0);
 1481|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIyEET_S2_:
 1479|  14.1k|    static noinline T noinline_zero(T) noexcept {
 1480|  14.1k|        return T(0);
 1481|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIaEET_S2_:
 1483|  14.1k|    static noinline T noinline_one(T) noexcept {
 1484|  14.1k|        return T(1);
 1485|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIhEET_S2_:
 1483|  14.1k|    static noinline T noinline_one(T) noexcept {
 1484|  14.1k|        return T(1);
 1485|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIsEET_S2_:
 1483|  14.1k|    static noinline T noinline_one(T) noexcept {
 1484|  14.1k|        return T(1);
 1485|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneItEET_S2_:
 1483|  14.1k|    static noinline T noinline_one(T) noexcept {
 1484|  14.1k|        return T(1);
 1485|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIiEET_S2_:
 1483|  14.1k|    static noinline T noinline_one(T) noexcept {
 1484|  14.1k|        return T(1);
 1485|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIjEET_S2_:
 1483|  14.1k|    static noinline T noinline_one(T) noexcept {
 1484|  14.1k|        return T(1);
 1485|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIxEET_S2_:
 1483|  14.1k|    static noinline T noinline_one(T) noexcept {
 1484|  14.1k|        return T(1);
 1485|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIyEET_S2_:
 1483|  14.1k|    static noinline T noinline_one(T) noexcept {
 1484|  14.1k|        return T(1);
 1485|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIaEET_S2_:
 1487|  14.1k|    static noinline T noinline_minus_one(T) noexcept {
 1488|  14.1k|        return T(T(0) - T(1));
 1489|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIhEET_S2_:
 1487|  14.1k|    static noinline T noinline_minus_one(T) noexcept {
 1488|  14.1k|        return T(T(0) - T(1));
 1489|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIsEET_S2_:
 1487|  14.1k|    static noinline T noinline_minus_one(T) noexcept {
 1488|  14.1k|        return T(T(0) - T(1));
 1489|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneItEET_S2_:
 1487|  14.1k|    static noinline T noinline_minus_one(T) noexcept {
 1488|  14.1k|        return T(T(0) - T(1));
 1489|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIiEET_S2_:
 1487|  14.1k|    static noinline T noinline_minus_one(T) noexcept {
 1488|  14.1k|        return T(T(0) - T(1));
 1489|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIjEET_S2_:
 1487|  14.1k|    static noinline T noinline_minus_one(T) noexcept {
 1488|  14.1k|        return T(T(0) - T(1));
 1489|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIxEET_S2_:
 1487|  14.1k|    static noinline T noinline_minus_one(T) noexcept {
 1488|  14.1k|        return T(T(0) - T(1));
 1489|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIyEET_S2_:
 1487|  14.1k|    static noinline T noinline_minus_one(T) noexcept {
 1488|  14.1k|        return T(T(0) - T(1));
 1489|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIaEET_S2_:
 1491|  14.1k|    static noinline T noinline_0xff(T) noexcept {
 1492|  14.1k|        return T(0xff);
 1493|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIhEET_S2_:
 1491|  14.1k|    static noinline T noinline_0xff(T) noexcept {
 1492|  14.1k|        return T(0xff);
 1493|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIsEET_S2_:
 1491|  14.1k|    static noinline T noinline_0xff(T) noexcept {
 1492|  14.1k|        return T(0xff);
 1493|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffItEET_S2_:
 1491|  14.1k|    static noinline T noinline_0xff(T) noexcept {
 1492|  14.1k|        return T(0xff);
 1493|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIiEET_S2_:
 1491|  14.1k|    static noinline T noinline_0xff(T) noexcept {
 1492|  14.1k|        return T(0xff);
 1493|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIjEET_S2_:
 1491|  14.1k|    static noinline T noinline_0xff(T) noexcept {
 1492|  14.1k|        return T(0xff);
 1493|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIxEET_S2_:
 1491|  14.1k|    static noinline T noinline_0xff(T) noexcept {
 1492|  14.1k|        return T(0xff);
 1493|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIyEET_S2_:
 1491|  14.1k|    static noinline T noinline_0xff(T) noexcept {
 1492|  14.1k|        return T(0xff);
 1493|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIaEET_S2_:
 1495|  14.1k|    static noinline T noinline_0xffff(T) noexcept {
 1496|  14.1k|        return T(0xffff);
 1497|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIhEET_S2_:
 1495|  14.1k|    static noinline T noinline_0xffff(T) noexcept {
 1496|  14.1k|        return T(0xffff);
 1497|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIsEET_S2_:
 1495|  14.1k|    static noinline T noinline_0xffff(T) noexcept {
 1496|  14.1k|        return T(0xffff);
 1497|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffItEET_S2_:
 1495|  14.1k|    static noinline T noinline_0xffff(T) noexcept {
 1496|  14.1k|        return T(0xffff);
 1497|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIiEET_S2_:
 1495|  14.1k|    static noinline T noinline_0xffff(T) noexcept {
 1496|  14.1k|        return T(0xffff);
 1497|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIjEET_S2_:
 1495|  14.1k|    static noinline T noinline_0xffff(T) noexcept {
 1496|  14.1k|        return T(0xffff);
 1497|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIxEET_S2_:
 1495|  14.1k|    static noinline T noinline_0xffff(T) noexcept {
 1496|  14.1k|        return T(0xffff);
 1497|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIyEET_S2_:
 1495|  14.1k|    static noinline T noinline_0xffff(T) noexcept {
 1496|  14.1k|        return T(0xffff);
 1497|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIaEET_S2_:
 1499|  14.1k|    static noinline T noinline_0xffffffff(T) noexcept {
 1500|  14.1k|        return T(0xffffffff);
 1501|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIhEET_S2_:
 1499|  14.1k|    static noinline T noinline_0xffffffff(T) noexcept {
 1500|  14.1k|        return T(0xffffffff);
 1501|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIsEET_S2_:
 1499|  14.1k|    static noinline T noinline_0xffffffff(T) noexcept {
 1500|  14.1k|        return T(0xffffffff);
 1501|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffItEET_S2_:
 1499|  14.1k|    static noinline T noinline_0xffffffff(T) noexcept {
 1500|  14.1k|        return T(0xffffffff);
 1501|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIiEET_S2_:
 1499|  14.1k|    static noinline T noinline_0xffffffff(T) noexcept {
 1500|  14.1k|        return T(0xffffffff);
 1501|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIjEET_S2_:
 1499|  14.1k|    static noinline T noinline_0xffffffff(T) noexcept {
 1500|  14.1k|        return T(0xffffffff);
 1501|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIxEET_S2_:
 1499|  14.1k|    static noinline T noinline_0xffffffff(T) noexcept {
 1500|  14.1k|        return T(0xffffffff);
 1501|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIyEET_S2_:
 1499|  14.1k|    static noinline T noinline_0xffffffff(T) noexcept {
 1500|  14.1k|        return T(0xffffffff);
 1501|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIaEET_S2_:
 1504|  14.1k|    static noinline T noinline_add_zero(T n) noexcept {
 1505|  14.1k|        return T(n + T(0));
 1506|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIhEET_S2_:
 1504|  14.1k|    static noinline T noinline_add_zero(T n) noexcept {
 1505|  14.1k|        return T(n + T(0));
 1506|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIsEET_S2_:
 1504|  14.1k|    static noinline T noinline_add_zero(T n) noexcept {
 1505|  14.1k|        return T(n + T(0));
 1506|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroItEET_S2_:
 1504|  14.1k|    static noinline T noinline_add_zero(T n) noexcept {
 1505|  14.1k|        return T(n + T(0));
 1506|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIiEET_S2_:
 1504|  14.1k|    static noinline T noinline_add_zero(T n) noexcept {
 1505|  14.1k|        return T(n + T(0));
 1506|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIjEET_S2_:
 1504|  14.1k|    static noinline T noinline_add_zero(T n) noexcept {
 1505|  14.1k|        return T(n + T(0));
 1506|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIxEET_S2_:
 1504|  14.1k|    static noinline T noinline_add_zero(T n) noexcept {
 1505|  14.1k|        return T(n + T(0));
 1506|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIyEET_S2_:
 1504|  14.1k|    static noinline T noinline_add_zero(T n) noexcept {
 1505|  14.1k|        return T(n + T(0));
 1506|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIaEET_S2_:
 1508|  14.1k|    static noinline T noinline_add_one(T n) noexcept {
 1509|  14.1k|        return T(n + T(1));
 1510|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIhEET_S2_:
 1508|  14.1k|    static noinline T noinline_add_one(T n) noexcept {
 1509|  14.1k|        return T(n + T(1));
 1510|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIsEET_S2_:
 1508|  14.1k|    static noinline T noinline_add_one(T n) noexcept {
 1509|  14.1k|        return T(n + T(1));
 1510|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneItEET_S2_:
 1508|  14.1k|    static noinline T noinline_add_one(T n) noexcept {
 1509|  14.1k|        return T(n + T(1));
 1510|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIiEET_S2_:
 1508|  14.1k|    static noinline T noinline_add_one(T n) noexcept {
 1509|  14.1k|        return T(n + T(1));
 1510|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIjEET_S2_:
 1508|  14.1k|    static noinline T noinline_add_one(T n) noexcept {
 1509|  14.1k|        return T(n + T(1));
 1510|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIxEET_S2_:
 1508|  14.1k|    static noinline T noinline_add_one(T n) noexcept {
 1509|  14.1k|        return T(n + T(1));
 1510|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIyEET_S2_:
 1508|  14.1k|    static noinline T noinline_add_one(T n) noexcept {
 1509|  14.1k|        return T(n + T(1));
 1510|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIaEET_S2_:
 1512|  14.1k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1513|  14.1k|        return T(n + T(T(0) - T(1)));
 1514|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIhEET_S2_:
 1512|  14.1k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1513|  14.1k|        return T(n + T(T(0) - T(1)));
 1514|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIsEET_S2_:
 1512|  14.1k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1513|  14.1k|        return T(n + T(T(0) - T(1)));
 1514|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneItEET_S2_:
 1512|  14.1k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1513|  14.1k|        return T(n + T(T(0) - T(1)));
 1514|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIiEET_S2_:
 1512|  14.1k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1513|  14.1k|        return T(n + T(T(0) - T(1)));
 1514|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIjEET_S2_:
 1512|  14.1k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1513|  14.1k|        return T(n + T(T(0) - T(1)));
 1514|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIxEET_S2_:
 1512|  14.1k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1513|  14.1k|        return T(n + T(T(0) - T(1)));
 1514|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIyEET_S2_:
 1512|  14.1k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1513|  14.1k|        return T(n + T(T(0) - T(1)));
 1514|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIaEET_S2_:
 1516|  14.1k|    static noinline T noinline_add_0xff(T n) noexcept {
 1517|  14.1k|        return T(n + T(0xff));
 1518|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIhEET_S2_:
 1516|  14.1k|    static noinline T noinline_add_0xff(T n) noexcept {
 1517|  14.1k|        return T(n + T(0xff));
 1518|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIsEET_S2_:
 1516|  14.1k|    static noinline T noinline_add_0xff(T n) noexcept {
 1517|  14.1k|        return T(n + T(0xff));
 1518|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffItEET_S2_:
 1516|  14.1k|    static noinline T noinline_add_0xff(T n) noexcept {
 1517|  14.1k|        return T(n + T(0xff));
 1518|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIiEET_S2_:
 1516|  14.1k|    static noinline T noinline_add_0xff(T n) noexcept {
 1517|  14.1k|        return T(n + T(0xff));
 1518|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIjEET_S2_:
 1516|  14.1k|    static noinline T noinline_add_0xff(T n) noexcept {
 1517|  14.1k|        return T(n + T(0xff));
 1518|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIxEET_S2_:
 1516|  14.1k|    static noinline T noinline_add_0xff(T n) noexcept {
 1517|  14.1k|        return T(n + T(0xff));
 1518|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIyEET_S2_:
 1516|  14.1k|    static noinline T noinline_add_0xff(T n) noexcept {
 1517|  14.1k|        return T(n + T(0xff));
 1518|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIaEET_S2_:
 1520|  14.1k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1521|  14.1k|        return T(n + T(0xffff));
 1522|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIhEET_S2_:
 1520|  14.1k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1521|  14.1k|        return T(n + T(0xffff));
 1522|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIsEET_S2_:
 1520|  14.1k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1521|  14.1k|        return T(n + T(0xffff));
 1522|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffItEET_S2_:
 1520|  14.1k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1521|  14.1k|        return T(n + T(0xffff));
 1522|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIiEET_S2_:
 1520|  14.1k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1521|  14.1k|        return T(n + T(0xffff));
 1522|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIjEET_S2_:
 1520|  14.1k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1521|  14.1k|        return T(n + T(0xffff));
 1522|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIxEET_S2_:
 1520|  14.1k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1521|  14.1k|        return T(n + T(0xffff));
 1522|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIyEET_S2_:
 1520|  14.1k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1521|  14.1k|        return T(n + T(0xffff));
 1522|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIaEET_S2_:
 1524|  14.1k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1525|  14.1k|        return T(n + T(0xffffffff));
 1526|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIhEET_S2_:
 1524|  14.1k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1525|  14.1k|        return T(n + T(0xffffffff));
 1526|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIsEET_S2_:
 1524|  14.1k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1525|  14.1k|        return T(n + T(0xffffffff));
 1526|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffItEET_S2_:
 1524|  14.1k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1525|  14.1k|        return T(n + T(0xffffffff));
 1526|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIiEET_S2_:
 1524|  14.1k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1525|  14.1k|        return T(n + T(0xffffffff));
 1526|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIjEET_S2_:
 1524|  14.1k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1525|  14.1k|        return T(n + T(0xffffffff));
 1526|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIxEET_S2_:
 1524|  14.1k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1525|  14.1k|        return T(n + T(0xffffffff));
 1526|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIyEET_S2_:
 1524|  14.1k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1525|  14.1k|        return T(n + T(0xffffffff));
 1526|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IaEET_S2_:
 1529|  14.1k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1530|  14.1k|        return T(n + T(0x0102030405060708ull));
 1531|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IhEET_S2_:
 1529|  14.1k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1530|  14.1k|        return T(n + T(0x0102030405060708ull));
 1531|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IsEET_S2_:
 1529|  14.1k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1530|  14.1k|        return T(n + T(0x0102030405060708ull));
 1531|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708ItEET_S2_:
 1529|  14.1k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1530|  14.1k|        return T(n + T(0x0102030405060708ull));
 1531|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IiEET_S2_:
 1529|  14.1k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1530|  14.1k|        return T(n + T(0x0102030405060708ull));
 1531|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IjEET_S2_:
 1529|  14.1k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1530|  14.1k|        return T(n + T(0x0102030405060708ull));
 1531|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IxEET_S2_:
 1529|  14.1k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1530|  14.1k|        return T(n + T(0x0102030405060708ull));
 1531|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IyEET_S2_:
 1529|  14.1k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1530|  14.1k|        return T(n + T(0x0102030405060708ull));
 1531|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IaEET_S2_:
 1533|  14.1k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1534|  14.1k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1535|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IhEET_S2_:
 1533|  14.1k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1534|  14.1k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1535|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IsEET_S2_:
 1533|  14.1k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1534|  14.1k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1535|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1ItEET_S2_:
 1533|  14.1k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1534|  14.1k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1535|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IiEET_S2_:
 1533|  14.1k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1534|  14.1k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1535|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IjEET_S2_:
 1533|  14.1k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1534|  14.1k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1535|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IxEET_S2_:
 1533|  14.1k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1534|  14.1k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1535|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IyEET_S2_:
 1533|  14.1k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1534|  14.1k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1535|  14.1k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_34v:
 1707|  14.1k|TEST_CASE("codegen") {
 1708|  14.1k|    const int n = acc_vget_int(2, 0);
 1709|  14.1k|    {
 1710|  14.1k|        typedef byte T;
 1711|  14.1k|        T buf[4] = {0, 1, 2, 3};
 1712|  14.1k|        const T v = T(acc_vget_int(0, 0));
 1713|       |
 1714|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1715|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1716|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1717|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1718|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1719|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1720|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1721|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1722|       |
 1723|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1724|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1725|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1726|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1727|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1728|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1729|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1730|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1731|       |
 1732|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int8_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1733|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint8_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1734|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int16_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1735|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint16_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1736|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int32_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1737|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint32_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1738|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int64_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1739|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint64_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1740|       |
 1741|  14.1k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int8_t(n), v));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1742|  14.1k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint8_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1743|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int16_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1744|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint16_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1745|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int32_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1746|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint32_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1747|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int64_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1748|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint64_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1749|       |
 1750|      0|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int8_t(n)) == 1);
  ------------------
  |  | 2968|      0|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1751|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint8_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1752|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int16_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1753|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint16_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1754|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int32_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1755|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint32_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1756|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int64_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1757|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint64_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1758|       |
 1759|  14.1k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int8_t(n)));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1760|  14.1k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint8_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1761|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int16_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1762|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint16_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1763|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int32_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1764|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint32_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1765|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int64_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1766|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint64_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1767|       |
 1768|      0|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int8_t(n)) == 1));
  ------------------
  |  | 2968|      0|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1769|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint8_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1770|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int16_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1771|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint16_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1772|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int32_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1773|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint32_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1774|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int64_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1775|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint64_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1776|       |
 1777|  14.1k|        (void) buf;
 1778|  14.1k|        (void) v;
 1779|  14.1k|    }
 1780|  14.1k|    {
 1781|  14.1k|        typedef upx_int32_t T;
 1782|  14.1k|        T buf[4] = {0, 1, 2, 3};
 1783|  14.1k|        const T v = T(acc_vget_int(0, 0));
 1784|       |
 1785|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1786|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1787|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1788|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1789|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1790|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1791|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1792|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1793|       |
 1794|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1795|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1796|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1797|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1798|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1799|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1800|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1801|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1802|       |
 1803|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int8_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1804|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint8_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1805|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int16_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1806|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint16_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1807|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int32_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1808|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint32_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1809|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int64_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1810|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint64_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1811|       |
 1812|  14.1k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int8_t(n), v));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1813|  14.1k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint8_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1814|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int16_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1815|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint16_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1816|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int32_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1817|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint32_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1818|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int64_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1819|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint64_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1820|       |
 1821|      0|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int8_t(n)) == 1);
  ------------------
  |  | 2968|      0|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1822|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint8_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1823|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int16_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1824|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint16_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1825|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int32_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1826|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint32_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1827|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int64_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1828|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint64_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1829|       |
 1830|  14.1k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int8_t(n)));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1831|  14.1k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint8_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1832|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int16_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1833|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint16_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1834|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int32_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1835|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint32_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1836|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int64_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1837|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint64_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1838|       |
 1839|      0|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int8_t(n)) == 1));
  ------------------
  |  | 2968|      0|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1840|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint8_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1841|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int16_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1842|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint16_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1843|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int32_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1844|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint32_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1845|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int64_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1846|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint64_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1847|       |
 1848|  14.1k|        (void) buf;
 1849|  14.1k|        (void) v;
 1850|  14.1k|    }
 1851|  14.1k|    {
 1852|  14.1k|        typedef upx_uint64_t T;
 1853|  14.1k|        T buf[4] = {0, 1, 2, 3};
 1854|  14.1k|        const T v = T(acc_vget_int(0, 0));
 1855|       |
 1856|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1857|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1858|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1859|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1860|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1861|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1862|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1863|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1864|       |
 1865|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1866|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1867|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1868|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1869|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1870|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1871|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1872|  14.1k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1873|       |
 1874|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int8_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1875|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint8_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1876|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int16_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1877|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint16_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1878|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int32_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1879|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint32_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1880|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int64_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1881|  14.1k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint64_t(n)) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1882|       |
 1883|  14.1k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int8_t(n), v));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1884|  14.1k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint8_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1885|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int16_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1886|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint16_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1887|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int32_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1888|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint32_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1889|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int64_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1890|      0|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_uint64_t(n), v));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1891|       |
 1892|      0|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int8_t(n)) == 1);
  ------------------
  |  | 2968|      0|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1893|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint8_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1894|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int16_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1895|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint16_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1896|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int32_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1897|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint32_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1898|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int64_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1899|  14.1k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint64_t(n)) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1900|       |
 1901|  14.1k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int8_t(n)));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1902|  14.1k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint8_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1903|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int16_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1904|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint16_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1905|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int32_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1906|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint32_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1907|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int64_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1908|      0|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint64_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|      0|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|      0|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|      0|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|      0|        try {                                                                                      \
  |  |  |  |  |  | 2519|      0|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|      0|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|      0|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|      0|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|      0|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|      0|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|      0|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|      0|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|      0|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1909|       |
 1910|      0|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int8_t(n)) == 1));
  ------------------
  |  | 2968|      0|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|      0|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|      0|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|      0|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|      0|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|      0|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|      0|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|      0|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|      0|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|      0|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|      0|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|      0|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|      0|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1911|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint8_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1912|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int16_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1913|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint16_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1914|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int32_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1915|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint32_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1916|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int64_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1917|  14.1k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint64_t(n)) == 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1918|       |
 1919|  14.1k|        (void) buf;
 1920|  14.1k|        (void) v;
 1921|  14.1k|    }
 1922|  14.1k|    (void) n;
 1923|  14.1k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIaEEPKhS4_T_:
 1540|  14.1k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  14.1k|        return p + n;
 1542|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIhEEPKhS4_T_:
 1540|  14.1k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  14.1k|        return p + n;
 1542|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIsEEPKhS4_T_:
 1540|  14.1k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  14.1k|        return p + n;
 1542|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrItEEPKhS4_T_:
 1540|  14.1k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  14.1k|        return p + n;
 1542|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIiEEPKhS4_T_:
 1540|  84.8k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  84.8k|        return p + n;
 1542|  84.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIjEEPKhS4_T_:
 1540|  28.2k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  28.2k|        return p + n;
 1542|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIxEEPKhS4_T_:
 1540|  28.2k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  28.2k|        return p + n;
 1542|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIyEEPKhS4_T_:
 1540|  28.2k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  28.2k|        return p + n;
 1542|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIaEEDaPKhT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIhEEDaPKhT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIsEEDaPKhT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedItEEDaPKhT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIiEEDaPKhT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIjEEDaPKhT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIxEEDaPKhT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIyEEDaPKhT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIaEEhPKhT_:
 1544|  14.1k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  14.1k|        return p[n];
 1546|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIhEEhPKhT_:
 1544|  14.1k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  14.1k|        return p[n];
 1546|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIsEEhPKhT_:
 1544|  14.1k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  14.1k|        return p[n];
 1546|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrItEEhPKhT_:
 1544|  14.1k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  14.1k|        return p[n];
 1546|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIiEEhPKhT_:
 1544|  84.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  84.8k|        return p[n];
 1546|  84.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIjEEhPKhT_:
 1544|  28.2k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  28.2k|        return p[n];
 1546|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIxEEhPKhT_:
 1544|  28.2k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  28.2k|        return p[n];
 1546|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIyEEhPKhT_:
 1544|  28.2k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  28.2k|        return p[n];
 1546|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIaEEvPhT_h:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIhEEvPhT_h:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIsEEvPhT_h:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrItEEvPhT_h:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIiEEvPhT_h:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIjEEvPhT_h:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIxEEvPhT_h:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIyEEvPhT_h:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IaEEhPKhT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IhEEhPKhT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IsEEhPKhT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1ItEEhPKhT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IiEEhPKhT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IjEEhPKhT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IxEEhPKhT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IyEEhPKhT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IaEEvPhT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IhEEvPhT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IsEEvPhT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1ItEEvPhT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IiEEvPhT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IjEEvPhT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IxEEvPhT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IyEEvPhT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIaEEDaPKhT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIhEEDaPKhT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIsEEDaPKhT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedItEEDaPKhT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIiEEDaPKhT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIjEEDaPKhT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIxEEDaPKhT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIyEEDaPKhT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIaEEPKiS4_T_:
 1540|  14.1k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  14.1k|        return p + n;
 1542|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIhEEPKiS4_T_:
 1540|  14.1k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  14.1k|        return p + n;
 1542|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIsEEPKiS4_T_:
 1540|  14.1k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  14.1k|        return p + n;
 1542|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrItEEPKiS4_T_:
 1540|  14.1k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  14.1k|        return p + n;
 1542|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIiEEPKiS4_T_:
 1540|  84.8k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  84.8k|        return p + n;
 1542|  84.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIjEEPKiS4_T_:
 1540|  28.2k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  28.2k|        return p + n;
 1542|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIxEEPKiS4_T_:
 1540|  28.2k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  28.2k|        return p + n;
 1542|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIyEEPKiS4_T_:
 1540|  28.2k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  28.2k|        return p + n;
 1542|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIaEEDaPKiT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIhEEDaPKiT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIsEEDaPKiT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedItEEDaPKiT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIiEEDaPKiT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIjEEDaPKiT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIxEEDaPKiT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIyEEDaPKiT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIaEEiPKiT_:
 1544|  14.1k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  14.1k|        return p[n];
 1546|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIhEEiPKiT_:
 1544|  14.1k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  14.1k|        return p[n];
 1546|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIsEEiPKiT_:
 1544|  14.1k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  14.1k|        return p[n];
 1546|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrItEEiPKiT_:
 1544|  14.1k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  14.1k|        return p[n];
 1546|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIiEEiPKiT_:
 1544|  84.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  84.8k|        return p[n];
 1546|  84.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIjEEiPKiT_:
 1544|  28.2k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  28.2k|        return p[n];
 1546|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIxEEiPKiT_:
 1544|  28.2k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  28.2k|        return p[n];
 1546|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIyEEiPKiT_:
 1544|  28.2k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  28.2k|        return p[n];
 1546|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIaEEvPiT_i:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIhEEvPiT_i:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIsEEvPiT_i:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrItEEvPiT_i:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIiEEvPiT_i:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIjEEvPiT_i:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIxEEvPiT_i:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIyEEvPiT_i:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IaEEiPKiT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IhEEiPKiT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IsEEiPKiT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1ItEEiPKiT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IiEEiPKiT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IjEEiPKiT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IxEEiPKiT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IyEEiPKiT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IaEEvPiT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IhEEvPiT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IsEEvPiT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1ItEEvPiT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IiEEvPiT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IjEEvPiT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IxEEvPiT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IyEEvPiT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIaEEDaPKiT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIhEEDaPKiT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIsEEDaPKiT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedItEEDaPKiT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIiEEDaPKiT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIjEEDaPKiT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIxEEDaPKiT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIyEEDaPKiT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIaEEPKyS4_T_:
 1540|  14.1k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  14.1k|        return p + n;
 1542|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIhEEPKyS4_T_:
 1540|  14.1k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  14.1k|        return p + n;
 1542|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIsEEPKyS4_T_:
 1540|  14.1k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  14.1k|        return p + n;
 1542|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrItEEPKyS4_T_:
 1540|  14.1k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  14.1k|        return p + n;
 1542|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIiEEPKyS4_T_:
 1540|  84.8k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  84.8k|        return p + n;
 1542|  84.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIjEEPKyS4_T_:
 1540|  28.2k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  28.2k|        return p + n;
 1542|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIxEEPKyS4_T_:
 1540|  28.2k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  28.2k|        return p + n;
 1542|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIyEEPKyS4_T_:
 1540|  28.2k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1541|  28.2k|        return p + n;
 1542|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIaEEDaPKyT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIhEEDaPKyT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIsEEDaPKyT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedItEEDaPKyT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIiEEDaPKyT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIjEEDaPKyT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIxEEDaPKyT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIyEEDaPKyT_:
 1561|  14.1k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1562|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1563|  14.1k|        return noinline_add_ptr(p, promoted_type(n));
 1564|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIaEEyPKyT_:
 1544|  14.1k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  14.1k|        return p[n];
 1546|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIhEEyPKyT_:
 1544|  14.1k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  14.1k|        return p[n];
 1546|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIsEEyPKyT_:
 1544|  14.1k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  14.1k|        return p[n];
 1546|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrItEEyPKyT_:
 1544|  14.1k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  14.1k|        return p[n];
 1546|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIiEEyPKyT_:
 1544|  84.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  84.8k|        return p[n];
 1546|  84.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIjEEyPKyT_:
 1544|  28.2k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  28.2k|        return p[n];
 1546|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIxEEyPKyT_:
 1544|  28.2k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  28.2k|        return p[n];
 1546|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIyEEyPKyT_:
 1544|  28.2k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1545|  28.2k|        return p[n];
 1546|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIaEEvPyT_y:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIhEEvPyT_y:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIsEEvPyT_y:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrItEEvPyT_y:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIiEEvPyT_y:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIjEEvPyT_y:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIxEEvPyT_y:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIyEEvPyT_y:
 1548|  14.1k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1549|  14.1k|        p[n] = v;
 1550|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IaEEyPKyT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IhEEyPKyT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IsEEyPKyT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1ItEEyPKyT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IiEEyPKyT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IjEEyPKyT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IxEEyPKyT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IyEEyPKyT_:
 1552|  14.1k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1553|  14.1k|        return T(p[n] | 1);
 1554|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IaEEvPyT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IhEEvPyT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IsEEvPyT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1ItEEvPyT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IiEEvPyT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IjEEvPyT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IxEEvPyT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IyEEvPyT_:
 1556|  14.1k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1557|  14.1k|        p[n] = T(p[n] | 1);
 1558|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIaEEDaPKyT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIhEEDaPKyT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIsEEDaPKyT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedItEEDaPKyT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIiEEDaPKyT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIjEEDaPKyT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIxEEDaPKyT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIyEEDaPKyT_:
 1566|  14.1k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1567|  14.1k|        typedef decltype(U(0) + U(0)) promoted_type;
 1568|  14.1k|        return noinline_get_ptr(p, promoted_type(n));
 1569|  14.1k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_36v:
 2347|  14.1k|TEST_CASE("upx::TriBool") {
 2348|  14.1k|    using upx::TriBool, upx::tribool;
 2349|  14.1k|    static_assert(!tribool(false));
 2350|  14.1k|    static_assert(tribool(true));
 2351|  14.1k|    static_assert(!tribool(tribool::Third));
 2352|  14.1k|    TestTriBool<tribool>::test(false);
 2353|  14.1k|#if DEBUG || 1
 2354|  14.1k|    TestTriBool<TriBool<upx_int8_t> >::test(false);
 2355|  14.1k|    TestTriBool<TriBool<upx_uint8_t> >::test(false);
 2356|  14.1k|    TestTriBool<TriBool<upx_int16_t> >::test(false);
 2357|  14.1k|    TestTriBool<TriBool<upx_uint16_t> >::test(false);
 2358|  14.1k|    TestTriBool<TriBool<upx_int32_t> >::test(false);
 2359|  14.1k|    TestTriBool<TriBool<upx_uint32_t> >::test(false);
 2360|  14.1k|    TestTriBool<TriBool<upx_int64_t> >::test(false);
 2361|  14.1k|    TestTriBool<TriBool<upx_uint64_t> >::test(false);
 2362|  14.1k|    TestTriBool<TriBool<upx_int8_t, true> >::test(true);
 2363|  14.1k|    TestTriBool<TriBool<upx_uint8_t, true> >::test(true);
 2364|  14.1k|    TestTriBool<TriBool<upx_int16_t, true> >::test(true);
 2365|  14.1k|    TestTriBool<TriBool<upx_uint16_t, true> >::test(true);
 2366|  14.1k|    TestTriBool<TriBool<upx_int32_t, true> >::test(true);
 2367|  14.1k|    TestTriBool<TriBool<upx_uint32_t, true> >::test(true);
 2368|  14.1k|    TestTriBool<TriBool<upx_int64_t, true> >::test(true);
 2369|  14.1k|    TestTriBool<TriBool<upx_uint64_t, true> >::test(true);
 2370|  14.1k|#endif
 2371|  14.1k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIiLb0EEEE4testEb:
 2238|  28.2k|    static noinline void test(bool expect_true) {
 2239|  28.2k|        static_assert(std::is_class<T>::value);
 2240|  28.2k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  28.2k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  28.2k|        static_assert(std::is_standard_layout<T>::value);
 2243|  28.2k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  28.2k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  28.2k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  28.2k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  28.2k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  28.2k|#endif
 2260|  28.2k|        static_assert(!bool(T(false)));
 2261|  28.2k|        static_assert(bool(T(true)));
 2262|  28.2k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  28.2k|        static_assert(T(false) == T::False);
 2264|  28.2k|        static_assert(T(true) == T::True);
 2265|  28.2k|        static_assert(T(T::False) == T::False);
 2266|  28.2k|        static_assert(T(T::True) == T::True);
 2267|  28.2k|        static_assert(T(T::Third) == T::Third);
 2268|  28.2k|        static_assert(T(T::Third) == T(9));
 2269|  28.2k|        static_assert(T(8) == T(9));
 2270|  28.2k|        static_assert(!(T(0) == T(9)));
 2271|  28.2k|        static_assert(!(T(1) == T(9)));
 2272|  28.2k|        static_assert(T(T::Third) == 9);
 2273|  28.2k|        static_assert(T(8) == 9);
 2274|  28.2k|        static_assert(!(T(0) == 9));
 2275|  28.2k|        static_assert(!(T(1) == 9));
 2276|  28.2k|        constexpr T array[] = {false, true, T::Third};
 2277|  28.2k|        static_assert(array[0].isStrictFalse());
 2278|  28.2k|        static_assert(array[1].isStrictTrue());
 2279|  28.2k|        static_assert(array[2].isThird());
 2280|  28.2k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  28.2k|        T a;
 2282|  28.2k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  28.2k|        assert(!a);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  28.2k|        assert(!bool(a));
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  28.2k|        assert((!a ? true : false));
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  28.2k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  28.2k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  28.2k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  28.2k|        assert(!a.isThird());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  28.2k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  28.2k|        assert(!a);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  28.2k|        assert(!bool(a));
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  28.2k|        assert((!a ? true : false));
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  28.2k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  28.2k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  28.2k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  28.2k|        assert(!a.isThird());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  28.2k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  28.2k|        assert(a);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  28.2k|        assert(bool(a));
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  28.2k|        assert((a ? true : false));
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  28.2k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  28.2k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  28.2k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  28.2k|        assert(!a.isThird());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  28.2k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  28.2k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  28.2k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 0, False: 28.2k]
  ------------------
 2312|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  28.2k|        } else {
 2316|  28.2k|            assert(!a);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|  28.2k|            assert(!bool(a));
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|  28.2k|            assert((!a ? true : false));
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|  28.2k|        }
 2320|  28.2k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  28.2k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  28.2k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  28.2k|        assert(a.isThird());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  28.2k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  28.2k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 0, False: 28.2k]
  ------------------
 2327|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|      0|            assert((!a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  28.2k|        } else {
 2332|  28.2k|            assert(!a);
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|  28.2k|            assert(!bool(a));
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|  28.2k|            assert((a ? false : true));
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 28.2k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|  28.2k|            assert((!a ? true : false));
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|  28.2k|        }
 2337|  28.2k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  28.2k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  28.2k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  28.2k|        assert(a.isThird());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  28.2k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  28.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  28.2k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIaLb0EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 0, False: 14.1k]
  ------------------
 2312|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|  14.1k|            assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|  14.1k|            assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|  14.1k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|  14.1k|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 0, False: 14.1k]
  ------------------
 2327|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|      0|            assert((!a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|  14.1k|            assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|  14.1k|            assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|  14.1k|            assert((a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|  14.1k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|  14.1k|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIhLb0EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 0, False: 14.1k]
  ------------------
 2312|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|  14.1k|            assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|  14.1k|            assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|  14.1k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|  14.1k|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 0, False: 14.1k]
  ------------------
 2327|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|      0|            assert((!a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|  14.1k|            assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|  14.1k|            assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|  14.1k|            assert((a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|  14.1k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|  14.1k|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIsLb0EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 0, False: 14.1k]
  ------------------
 2312|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|  14.1k|            assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|  14.1k|            assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|  14.1k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|  14.1k|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 0, False: 14.1k]
  ------------------
 2327|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|      0|            assert((!a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|  14.1k|            assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|  14.1k|            assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|  14.1k|            assert((a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|  14.1k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|  14.1k|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolItLb0EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 0, False: 14.1k]
  ------------------
 2312|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|  14.1k|            assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|  14.1k|            assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|  14.1k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|  14.1k|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 0, False: 14.1k]
  ------------------
 2327|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|      0|            assert((!a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|  14.1k|            assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|  14.1k|            assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|  14.1k|            assert((a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|  14.1k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|  14.1k|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIjLb0EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 0, False: 14.1k]
  ------------------
 2312|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|  14.1k|            assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|  14.1k|            assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|  14.1k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|  14.1k|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 0, False: 14.1k]
  ------------------
 2327|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|      0|            assert((!a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|  14.1k|            assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|  14.1k|            assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|  14.1k|            assert((a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|  14.1k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|  14.1k|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIxLb0EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 0, False: 14.1k]
  ------------------
 2312|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|  14.1k|            assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|  14.1k|            assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|  14.1k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|  14.1k|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 0, False: 14.1k]
  ------------------
 2327|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|      0|            assert((!a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|  14.1k|            assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|  14.1k|            assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|  14.1k|            assert((a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|  14.1k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|  14.1k|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIyLb0EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 0, False: 14.1k]
  ------------------
 2312|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|  14.1k|            assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|  14.1k|            assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|  14.1k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|  14.1k|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 0, False: 14.1k]
  ------------------
 2327|      0|            assert(a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|      0|            assert(bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|      0|            assert((a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|      0|            assert((!a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|  14.1k|            assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|  14.1k|            assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|  14.1k|            assert((a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|  14.1k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|  14.1k|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIaLb1EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 14.1k, False: 0]
  ------------------
 2312|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|      0|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 14.1k, False: 0]
  ------------------
 2327|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|  14.1k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|      0|            assert((a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|      0|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIhLb1EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 14.1k, False: 0]
  ------------------
 2312|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|      0|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 14.1k, False: 0]
  ------------------
 2327|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|  14.1k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|      0|            assert((a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|      0|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIsLb1EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 14.1k, False: 0]
  ------------------
 2312|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|      0|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 14.1k, False: 0]
  ------------------
 2327|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|  14.1k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|      0|            assert((a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|      0|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolItLb1EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 14.1k, False: 0]
  ------------------
 2312|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|      0|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 14.1k, False: 0]
  ------------------
 2327|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|  14.1k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|      0|            assert((a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|      0|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIiLb1EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 14.1k, False: 0]
  ------------------
 2312|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|      0|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 14.1k, False: 0]
  ------------------
 2327|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|  14.1k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|      0|            assert((a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|      0|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIjLb1EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 14.1k, False: 0]
  ------------------
 2312|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|      0|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 14.1k, False: 0]
  ------------------
 2327|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|  14.1k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|      0|            assert((a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|      0|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIxLb1EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 14.1k, False: 0]
  ------------------
 2312|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|      0|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 14.1k, False: 0]
  ------------------
 2327|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|  14.1k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|      0|            assert((a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|      0|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIyLb1EEEE4testEb:
 2238|  14.1k|    static noinline void test(bool expect_true) {
 2239|  14.1k|        static_assert(std::is_class<T>::value);
 2240|  14.1k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2241|  14.1k|        static_assert(std::is_nothrow_destructible<T>::value);
 2242|  14.1k|        static_assert(std::is_standard_layout<T>::value);
 2243|  14.1k|        static_assert(std::is_trivially_copyable<T>::value);
 2244|  14.1k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2245|  14.1k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2246|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2247|       |        // broken compiler or broken ABI
 2248|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2249|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2250|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2251|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2252|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2253|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2254|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2255|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2256|       |#else
 2257|  14.1k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2258|  14.1k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2259|  14.1k|#endif
 2260|  14.1k|        static_assert(!bool(T(false)));
 2261|  14.1k|        static_assert(bool(T(true)));
 2262|  14.1k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2263|  14.1k|        static_assert(T(false) == T::False);
 2264|  14.1k|        static_assert(T(true) == T::True);
 2265|  14.1k|        static_assert(T(T::False) == T::False);
 2266|  14.1k|        static_assert(T(T::True) == T::True);
 2267|  14.1k|        static_assert(T(T::Third) == T::Third);
 2268|  14.1k|        static_assert(T(T::Third) == T(9));
 2269|  14.1k|        static_assert(T(8) == T(9));
 2270|  14.1k|        static_assert(!(T(0) == T(9)));
 2271|  14.1k|        static_assert(!(T(1) == T(9)));
 2272|  14.1k|        static_assert(T(T::Third) == 9);
 2273|  14.1k|        static_assert(T(8) == 9);
 2274|  14.1k|        static_assert(!(T(0) == 9));
 2275|  14.1k|        static_assert(!(T(1) == 9));
 2276|  14.1k|        constexpr T array[] = {false, true, T::Third};
 2277|  14.1k|        static_assert(array[0].isStrictFalse());
 2278|  14.1k|        static_assert(array[1].isStrictTrue());
 2279|  14.1k|        static_assert(array[2].isThird());
 2280|  14.1k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2281|  14.1k|        T a;
 2282|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2283|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2284|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2285|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2286|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2287|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2288|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2289|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2290|      0|        a = false;
 2291|  14.1k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2292|  14.1k|        assert(!a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2293|  14.1k|        assert(!bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2294|  14.1k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2295|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2296|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2297|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2298|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2299|      0|        a = true;
 2300|  14.1k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2301|  14.1k|        assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2302|  14.1k|        assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2303|  14.1k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2304|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2305|  14.1k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2306|  14.1k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2307|  14.1k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2308|      0|        a = T::Third;
 2309|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2310|  14.1k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2311|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2311:13): [True: 14.1k, False: 0]
  ------------------
 2312|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2313|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2314|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2315|  14.1k|        } else {
 2316|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2317|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2318|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2319|      0|        }
 2320|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2321|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2322|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2323|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2324|      0|        a = 99;
 2325|  14.1k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2326|  14.1k|        if (expect_true) {
  ------------------
  |  Branch (2326:13): [True: 14.1k, False: 0]
  ------------------
 2327|  14.1k|            assert(a);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2328|  14.1k|            assert(bool(a));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2329|  14.1k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2330|  14.1k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2331|  14.1k|        } else {
 2332|      0|            assert(!a);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2333|      0|            assert(!bool(a));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2334|      0|            assert((a ? false : true));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2335|      0|            assert((!a ? true : false));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2336|      0|        }
 2337|  14.1k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2338|  14.1k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2339|  14.1k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2340|  14.1k|        assert(a.isThird());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2341|      0|        mem_clear(&a);
 2342|  14.1k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|  14.1k|    }

dt_xspan.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
   35|  14.1k|TEST_CASE("raw_bytes ptr") {
   36|  14.1k|    upx_uint16_t *ptr = nullptr;
   37|  14.1k|    CHECK_NOTHROW(raw_bytes(ptr, 0));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   38|  14.1k|    CHECK_THROWS(raw_bytes(ptr, 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   39|  14.1k|    CHECK_THROWS(raw_index_bytes(ptr, 0, 0));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   40|  14.1k|    CHECK_THROWS(raw_index_bytes(ptr, 1, 0));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   41|  14.1k|    CHECK_THROWS(raw_index_bytes(ptr, 0, 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   42|  14.1k|    upx_uint16_t buf[4];
   43|  14.1k|    ptr = buf;
   44|  14.1k|    CHECK(ptr_udiff_bytes(raw_index_bytes(ptr, 1, 1), ptr) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   45|  14.1k|    CHECK(ptr_udiff_bytes(raw_index_bytes(ptr, 4, 0), ptr) == 8u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   46|  14.1k|    UNUSED(ptr);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   47|  14.1k|}
dt_xspan.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
   49|  14.1k|TEST_CASE("raw_bytes bounded array") {
   50|  14.1k|    upx_uint16_t buf[4];
   51|  14.1k|    CHECK_NOTHROW(raw_bytes(buf, 8));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   52|  14.1k|    CHECK_THROWS(raw_bytes(buf, 9));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   53|  14.1k|    CHECK_NOTHROW(raw_index_bytes(buf, 4, 0));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   54|  14.1k|    CHECK_THROWS(raw_index_bytes(buf, 4, 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   55|  14.1k|    CHECK_NOTHROW(raw_index_bytes(buf, 3, 2));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   56|  14.1k|    CHECK_THROWS(raw_index_bytes(buf, 3, 3));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   57|  14.1k|    CHECK(ptr_udiff_bytes(raw_index_bytes(buf, 1, 1), buf) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   58|  14.1k|    CHECK(ptr_udiff_bytes(raw_index_bytes(buf, 4, 0), buf) == 8u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   59|  14.1k|    UNUSED(buf);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   60|  14.1k|}
dt_xspan.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
   66|  42.4k|TEST_CASE("basic xspan usage") {
   67|  42.4k|    alignas(4) char buf[4] = {0, 1, 2, 3};
   68|       |
   69|  42.4k|    SUBCASE("XSPAN_x") {
  ------------------
  |  | 2944|  42.4k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|  42.4k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|  42.4k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|  42.4k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|  42.4k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.1k, False: 28.2k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|  42.4k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
   70|  14.1k|        XSPAN_0(char) a0 = nullptr;
  ------------------
  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   71|       |
   72|  14.1k|        XSPAN_0(char) b0 = buf;
  ------------------
  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   73|  14.1k|        XSPAN_P(char) bp = buf;
  ------------------
  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
   74|       |
   75|  14.1k|        XSPAN_0(char) c0 = XSPAN_0_MAKE(char, buf);
  ------------------
  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(char) c0 = XSPAN_0_MAKE(char, buf);
  ------------------
  |  |   95|  14.1k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   76|  14.1k|        XSPAN_P(char) cp = XSPAN_P_MAKE(char, buf);
  ------------------
  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(char) cp = XSPAN_P_MAKE(char, buf);
  ------------------
  |  |   96|  14.1k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   77|  14.1k|        XSPAN_S(char) cs = XSPAN_S_MAKE(char, buf, sizeof(buf));
  ------------------
  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(char) cs = XSPAN_S_MAKE(char, buf, sizeof(buf));
  ------------------
  |  |   97|  14.1k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   78|       |
   79|  14.1k|        XSPAN_0(const char) const x0 = XSPAN_0_MAKE(const char, buf);
  ------------------
  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(const char) const x0 = XSPAN_0_MAKE(const char, buf);
  ------------------
  |  |   95|  14.1k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|  14.1k|        XSPAN_P(const char) const xp = XSPAN_P_MAKE(const char, buf);
  ------------------
  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(const char) const xp = XSPAN_P_MAKE(const char, buf);
  ------------------
  |  |   96|  14.1k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   81|  14.1k|        XSPAN_S(const char) const xs = XSPAN_S_MAKE(const char, buf, sizeof(buf));
  ------------------
  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(const char) const xs = XSPAN_S_MAKE(const char, buf, sizeof(buf));
  ------------------
  |  |   97|  14.1k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|  14.1k|        XSPAN_P(const char) const yp = xs;
  ------------------
  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
   83|  14.1k|        XSPAN_0(const char) const z0p = yp;
  ------------------
  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   84|  14.1k|        XSPAN_0(const char) const z0s = xs;
  ------------------
  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   85|       |
   86|  14.1k|        CHECK((a0 == nullptr));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   87|  14.1k|        CHECK(c0 == b0);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   88|  14.1k|        CHECK(cp == bp);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   89|  14.1k|        CHECK(cs == bp);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   90|  14.1k|        CHECK(x0 == z0p);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   91|  14.1k|        CHECK(xp == z0s);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   92|       |
   93|  14.1k|        CHECK_NOTHROW(raw_bytes(a0, 0));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   94|  14.1k|        CHECK_THROWS(raw_bytes(a0, 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   95|  14.1k|        CHECK_THROWS(raw_index_bytes(a0, 0, 0));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   96|       |
   97|  14.1k|        CHECK(raw_bytes(b0, 0) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   98|  14.1k|        CHECK(raw_bytes(bp, 0) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   99|       |        // info: these will fail if we ever add an overload for bounded-arrays
  100|  14.1k|#if WITH_XSPAN >= 2
  101|  14.1k|        CHECK(b0.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  102|  14.1k|        CHECK(bp.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  103|  14.1k|#endif
  104|  14.1k|        CHECK(raw_bytes(c0, 4) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  105|  14.1k|        CHECK(raw_index_bytes(c0, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  106|  14.1k|        CHECK(raw_bytes(cp, 4) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  107|  14.1k|        CHECK(raw_index_bytes(cp, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  108|  14.1k|        CHECK(raw_bytes(cs, 4) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  109|  14.1k|        CHECK(raw_index_bytes(cs, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  110|  14.1k|#if WITH_XSPAN >= 2
  111|  14.1k|        CHECK_THROWS(raw_bytes(cs, 5));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  112|  14.1k|        CHECK_THROWS(raw_index_bytes(cs, 1, 4));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  113|  14.1k|#endif
  114|       |
  115|  14.1k|        XSPAN_0(upx_uint16_t) c0_2 = XSPAN_TYPE_CAST(upx_uint16_t, c0 + 2);
  ------------------
  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(upx_uint16_t) c0_2 = XSPAN_TYPE_CAST(upx_uint16_t, c0 + 2);
  ------------------
  |  |  120|  14.1k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  116|  14.1k|        XSPAN_P(upx_uint16_t) cp_2 = XSPAN_TYPE_CAST(upx_uint16_t, cp + 2);
  ------------------
  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(upx_uint16_t) cp_2 = XSPAN_TYPE_CAST(upx_uint16_t, cp + 2);
  ------------------
  |  |  120|  14.1k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  117|  14.1k|        XSPAN_S(upx_uint16_t) cs_2 = XSPAN_TYPE_CAST(upx_uint16_t, cs + 2);
  ------------------
  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(upx_uint16_t) cs_2 = XSPAN_TYPE_CAST(upx_uint16_t, cs + 2);
  ------------------
  |  |  120|  14.1k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  118|  14.1k|        CHECK(ptr_udiff_bytes(c0_2, c0) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  119|  14.1k|        CHECK(ptr_udiff_bytes(cp_2, c0) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  120|  14.1k|        CHECK(ptr_udiff_bytes(cs_2, c0) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  121|  14.1k|        CHECK(ptr_udiff_bytes(c0_2, cp) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  122|  14.1k|        CHECK(ptr_udiff_bytes(cp_2, cp) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  123|  14.1k|        CHECK(ptr_udiff_bytes(cs_2, cp) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  124|  14.1k|        CHECK(ptr_udiff_bytes(c0_2, cs) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  125|  14.1k|        CHECK(ptr_udiff_bytes(cp_2, cs) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  126|  14.1k|        CHECK(ptr_udiff_bytes(cs_2, cs) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  127|  14.1k|        XSPAN_0(upx_uint16_t) c0_2b = XSPAN_TYPE_CAST(upx_uint16_t, c0) + 1;
  ------------------
  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(upx_uint16_t) c0_2b = XSPAN_TYPE_CAST(upx_uint16_t, c0) + 1;
  ------------------
  |  |  120|  28.2k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  128|  14.1k|        XSPAN_P(upx_uint16_t) cp_2b = XSPAN_TYPE_CAST(upx_uint16_t, cp) + 1;
  ------------------
  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(upx_uint16_t) cp_2b = XSPAN_TYPE_CAST(upx_uint16_t, cp) + 1;
  ------------------
  |  |  120|  28.2k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  129|  14.1k|        XSPAN_S(upx_uint16_t) cs_2b = XSPAN_TYPE_CAST(upx_uint16_t, cs) + 1;
  ------------------
  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(upx_uint16_t) cs_2b = XSPAN_TYPE_CAST(upx_uint16_t, cs) + 1;
  ------------------
  |  |  120|  28.2k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  130|  14.1k|        CHECK(c0_2 == c0_2b);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  131|  14.1k|        CHECK(cp_2 == cp_2b);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  132|  14.1k|        CHECK(cs_2 == cs_2b);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  133|       |
  134|  14.1k|        CHECK(sizeof(*c0) == 1u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  135|  14.1k|        CHECK(sizeof(*c0_2) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  136|  14.1k|    }
  137|       |
  138|  42.4k|    SUBCASE("XSPAN_x_VAR") {
  ------------------
  |  | 2944|  42.4k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|  42.4k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|  42.4k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|  42.4k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|  42.4k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.1k, False: 28.2k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|  42.4k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  139|  14.1k|        XSPAN_0_VAR(char, b0, buf);
  ------------------
  |  |  107|  14.1k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  140|  14.1k|        XSPAN_P_VAR(char, bp, buf);
  ------------------
  |  |  109|  14.1k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  141|       |
  142|  14.1k|        XSPAN_0_VAR(char, c0, buf, sizeof(buf));
  ------------------
  |  |  107|  14.1k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  143|  14.1k|        XSPAN_P_VAR(char, cp, buf, sizeof(buf));
  ------------------
  |  |  109|  14.1k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  144|  14.1k|        XSPAN_S_VAR(char, cs, buf, sizeof(buf));
  ------------------
  |  |  111|  14.1k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  145|       |
  146|  14.1k|        XSPAN_0_VAR(char, d0, buf + 1, sizeof(buf), buf);
  ------------------
  |  |  107|  14.1k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  147|  14.1k|        XSPAN_P_VAR(char, dp, buf + 1, sizeof(buf), buf);
  ------------------
  |  |  109|  14.1k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  148|  14.1k|        XSPAN_S_VAR(char, ds, buf + 1, sizeof(buf), buf);
  ------------------
  |  |  111|  14.1k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  149|       |
  150|  14.1k|        XSPAN_0_VAR(const char, const x0, buf, sizeof(buf));
  ------------------
  |  |  107|  14.1k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  151|  14.1k|        XSPAN_P_VAR(const char, const xp, buf, sizeof(buf));
  ------------------
  |  |  109|  14.1k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  152|  14.1k|        XSPAN_S_VAR(const char, const xs, buf, sizeof(buf));
  ------------------
  |  |  111|  14.1k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  153|  14.1k|        XSPAN_P_VAR(const char, const yp, xs);
  ------------------
  |  |  109|  14.1k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  154|  14.1k|        XSPAN_0_VAR(const char, const z0p, yp);
  ------------------
  |  |  107|  14.1k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  155|  14.1k|        XSPAN_0_VAR(const char, const z0s, xs);
  ------------------
  |  |  107|  14.1k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  156|       |
  157|  14.1k|        CHECK(c0 == b0);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  158|  14.1k|        CHECK(cp == bp);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  159|  14.1k|        CHECK(cs == bp);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  160|  14.1k|        CHECK(d0 == dp);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  161|  14.1k|        CHECK(d0 == ds);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  162|  14.1k|        CHECK(x0 == z0p);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  163|  14.1k|        CHECK(xp == z0s);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  164|       |
  165|  14.1k|#if WITH_XSPAN >= 1 || __cplusplus >= 201103L
  166|  14.1k|        XSPAN_0_VAR(char, a0, nullptr);
  ------------------
  |  |  107|  14.1k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  167|  14.1k|        CHECK((a0 == nullptr));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  168|  14.1k|        CHECK_NOTHROW(raw_bytes(a0, 0));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  169|  14.1k|        CHECK_THROWS(raw_bytes(a0, 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  170|  14.1k|        CHECK_THROWS(raw_index_bytes(a0, 0, 0));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  171|  14.1k|#endif
  172|       |
  173|  14.1k|        CHECK(raw_bytes(b0, 0) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  174|  14.1k|        CHECK(raw_bytes(bp, 0) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  175|       |        // info: these will fail if we ever add an overload for bounded-arrays
  176|  14.1k|#if WITH_XSPAN >= 2
  177|  14.1k|        CHECK(b0.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  178|  14.1k|        CHECK(bp.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  179|  14.1k|#endif
  180|  14.1k|        CHECK(raw_bytes(c0, 4) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  181|  14.1k|        CHECK(raw_index_bytes(c0, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  182|  14.1k|        CHECK(raw_bytes(cp, 4) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  183|  14.1k|        CHECK(raw_index_bytes(cp, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  184|  14.1k|        CHECK(raw_bytes(cs, 4) == buf);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  185|  14.1k|        CHECK(raw_index_bytes(cs, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  186|  14.1k|#if WITH_XSPAN >= 2
  187|  14.1k|        CHECK_THROWS(raw_bytes(cs, 5));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  188|  14.1k|        CHECK_THROWS(raw_index_bytes(cs, 1, 4));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  189|  14.1k|#endif
  190|       |
  191|  14.1k|        XSPAN_0_VAR(upx_uint16_t, c0_2, XSPAN_TYPE_CAST(upx_uint16_t, c0 + 2));
  ------------------
  |  |  107|  14.1k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  192|  14.1k|        XSPAN_P_VAR(upx_uint16_t, cp_2, XSPAN_TYPE_CAST(upx_uint16_t, cp + 2));
  ------------------
  |  |  109|  14.1k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  193|  14.1k|        XSPAN_S_VAR(upx_uint16_t, cs_2, XSPAN_TYPE_CAST(upx_uint16_t, cs + 2));
  ------------------
  |  |  111|  14.1k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  194|  14.1k|        CHECK(ptr_udiff_bytes(c0_2, c0) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  195|  14.1k|        CHECK(ptr_udiff_bytes(cp_2, c0) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  196|  14.1k|        CHECK(ptr_udiff_bytes(cs_2, c0) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  197|  14.1k|        CHECK(ptr_udiff_bytes(c0_2, cp) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  198|  14.1k|        CHECK(ptr_udiff_bytes(cp_2, cp) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  199|  14.1k|        CHECK(ptr_udiff_bytes(cs_2, cp) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  200|  14.1k|        CHECK(ptr_udiff_bytes(c0_2, cs) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  201|  14.1k|        CHECK(ptr_udiff_bytes(cp_2, cs) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  202|  14.1k|        CHECK(ptr_udiff_bytes(cs_2, cs) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  203|  14.1k|        XSPAN_0_VAR(upx_uint16_t, c0_2b, XSPAN_TYPE_CAST(upx_uint16_t, c0) + 1);
  ------------------
  |  |  107|  14.1k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  204|  14.1k|        XSPAN_P_VAR(upx_uint16_t, cp_2b, XSPAN_TYPE_CAST(upx_uint16_t, cp) + 1);
  ------------------
  |  |  109|  14.1k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  205|  14.1k|        XSPAN_S_VAR(upx_uint16_t, cs_2b, XSPAN_TYPE_CAST(upx_uint16_t, cs) + 1);
  ------------------
  |  |  111|  14.1k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  206|  14.1k|        CHECK(c0_2 == c0_2b);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  207|  14.1k|        CHECK(cp_2 == cp_2b);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  208|  14.1k|        CHECK(cs_2 == cs_2b);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  209|       |
  210|  14.1k|        CHECK(sizeof(*c0) == 1u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  211|  14.1k|        CHECK(sizeof(*c0_2) == 2u);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  212|  14.1k|    }
  213|       |
  214|  42.4k|    SUBCASE("xspan in class") {
  ------------------
  |  | 2944|  42.4k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|  42.4k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|  42.4k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|  42.4k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|  42.4k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.1k, False: 28.2k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|  42.4k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  215|  14.1k|        struct MyType {
  216|  14.1k|            XSPAN_0(char) s0;
  217|  14.1k|            XSPAN_P(char) sp;
  218|  14.1k|            XSPAN_S(char) ss;
  219|  14.1k|#if __cplusplus >= 201103L
  220|  14.1k|            XSPAN_0(char) x0 = nullptr;
  221|  14.1k|#endif
  222|  14.1k|#if WITH_XSPAN >= 2
  223|       |            // much nicer syntax when using fully checked xspan:
  224|  14.1k|            MyType(char *b, size_t n, bool) : s0(b, n), sp(b, n), ss(b, n) {}
  225|  14.1k|#endif
  226|  14.1k|            MyType(char *b, size_t n)
  227|  14.1k|                : s0(XSPAN_0_MAKE(char, b, n)), sp(XSPAN_P_MAKE(char, b, n)),
  228|  14.1k|                  ss(XSPAN_S_MAKE(char, b, n)) {
  229|  14.1k|                UNUSED(n);
  230|  14.1k|            }
  231|  14.1k|        };
  232|  14.1k|        MyType x(buf, sizeof(buf));
  233|  14.1k|        MyType y = MyType(buf, sizeof(buf));
  234|  14.1k|        CHECK(x.s0 == y.sp);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  235|  14.1k|    }
  236|  42.4k|}
dt_xspan.cpp:_ZZL19DOCTEST_ANON_FUNC_6vEN6MyTypeC2EPcm:
  227|  28.2k|                : s0(XSPAN_0_MAKE(char, b, n)), sp(XSPAN_P_MAKE(char, b, n)),
  ------------------
  |  |   95|  28.2k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  28.2k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                              : s0(XSPAN_0_MAKE(char, b, n)), sp(XSPAN_P_MAKE(char, b, n)),
  ------------------
  |  |   96|  28.2k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  28.2k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  228|  28.2k|                  ss(XSPAN_S_MAKE(char, b, n)) {
  ------------------
  |  |   97|  28.2k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  28.2k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  28.2k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  28.2k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  28.2k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  229|  28.2k|                UNUSED(n);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  230|  28.2k|            }
dt_xspan.cpp:_ZL20DOCTEST_ANON_FUNC_11v:
  238|  14.1k|TEST_CASE("xspan array access") {
  239|  14.1k|    const size_t N = 16;
  240|  14.1k|    char buf[N];
  241|  14.1k|    memset(buf, 0, sizeof(buf));
  242|  14.1k|    XSPAN_0_VAR(char, c0, buf, sizeof(buf));
  ------------------
  |  |  107|  14.1k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.1k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  243|  14.1k|    XSPAN_P_VAR(char, cp, buf, sizeof(buf));
  ------------------
  |  |  109|  14.1k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.1k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  244|  14.1k|    XSPAN_S_VAR(char, cs, buf, sizeof(buf));
  ------------------
  |  |  111|  14.1k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.1k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.1k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.1k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.1k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  245|   240k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (245:24): [True: 226k, False: 14.1k]
  ------------------
  246|   226k|        c0[i] += 1;
  247|   240k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (247:24): [True: 226k, False: 14.1k]
  ------------------
  248|   226k|        cp[i] += 1;
  249|   240k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (249:24): [True: 226k, False: 14.1k]
  ------------------
  250|   226k|        cs[i] += 1;
  251|  14.1k|#if __cplusplus >= 201103L
  252|   240k|    for (auto ptr = c0; ptr != c0 + N; ++ptr)
  ------------------
  |  Branch (252:25): [True: 226k, False: 14.1k]
  ------------------
  253|   226k|        *ptr += 1;
  254|   240k|    for (auto ptr = c0 + 0; ptr < c0 + N; ++ptr)
  ------------------
  |  Branch (254:29): [True: 226k, False: 14.1k]
  ------------------
  255|   226k|        *ptr += 1;
  256|   240k|    for (auto ptr = cp; ptr != cp + N; ++ptr)
  ------------------
  |  Branch (256:25): [True: 226k, False: 14.1k]
  ------------------
  257|   226k|        *ptr += 1;
  258|   240k|    for (auto ptr = cp + 0; ptr < cp + N; ++ptr)
  ------------------
  |  Branch (258:29): [True: 226k, False: 14.1k]
  ------------------
  259|   226k|        *ptr += 1;
  260|   240k|    for (auto ptr = cs; ptr != cs + N; ++ptr)
  ------------------
  |  Branch (260:25): [True: 226k, False: 14.1k]
  ------------------
  261|   226k|        *ptr += 1;
  262|   240k|    for (auto ptr = cs + 0; ptr < cs + N; ++ptr)
  ------------------
  |  Branch (262:29): [True: 226k, False: 14.1k]
  ------------------
  263|   226k|        *ptr += 1;
  264|  14.1k|#endif
  265|  14.1k|}
dt_xspan.cpp:_ZL20DOCTEST_ANON_FUNC_13v:
 1136|  14.1k|TEST_CASE("decltype integral constants") {
 1137|  14.1k|    static_assert((std::is_same<decltype(0), int>::value), "");
 1138|  14.1k|    static_assert((std::is_same<decltype(0u), unsigned>::value), "");
 1139|  14.1k|    static_assert((std::is_same<decltype(0l), long>::value), "");
 1140|  14.1k|    static_assert((std::is_same<decltype(0ul), unsigned long>::value), "");
 1141|  14.1k|    static_assert((std::is_same<decltype(0ll), long long>::value), "");
 1142|  14.1k|    static_assert((std::is_same<decltype(0ull), unsigned long long>::value), "");
 1143|  14.1k|    static_assert((std::is_same<decltype((char) 0), char>::value), "");
 1144|  14.1k|    static_assert((std::is_same<decltype((short) 0), short>::value), "");
 1145|  14.1k|    static_assert((std::is_same<decltype((int) 0), int>::value), "");
 1146|  14.1k|    static_assert((std::is_same<decltype((long) 0), long>::value), "");
 1147|  14.1k|    static_assert((std::is_same<decltype((long long) 0), long long>::value), "");
 1148|  14.1k|    static_assert((std::is_same<decltype(char(0)), char>::value), "");
 1149|  14.1k|    static_assert((std::is_same<decltype(short(0)), short>::value), "");
 1150|  14.1k|    static_assert((std::is_same<decltype(int(0)), int>::value), "");
 1151|  14.1k|    static_assert((std::is_same<decltype(long(0)), long>::value), "");
 1152|       |    //// static_assert((std::is_same<decltype(long long(0)), long long>::value), "");
 1153|  14.1k|    using my_llong = long long;
 1154|  14.1k|    static_assert((std::is_same<decltype(my_llong(0)), long long>::value), "");
 1155|  14.1k|}
dt_xspan.cpp:_ZL20DOCTEST_ANON_FUNC_15v:
 1157|  14.1k|TEST_CASE("decltype pointer") {
 1158|  14.1k|    int dummy = 0;
 1159|  14.1k|    int *p = &dummy;
 1160|  14.1k|    const int *c = &dummy;
 1161|  14.1k|    static_assert((std::is_same<decltype(p - p), std::ptrdiff_t>::value), "");
 1162|  14.1k|    static_assert((std::is_same<decltype(c - c), std::ptrdiff_t>::value), "");
 1163|  14.1k|    static_assert((std::is_same<decltype(p - c), std::ptrdiff_t>::value), "");
 1164|  14.1k|    static_assert((std::is_same<decltype(c - p), std::ptrdiff_t>::value), "");
 1165|  14.1k|    typedef PointerTraits<int> TInt;
 1166|  14.1k|    typedef PointerTraits<const int> TConstInt;
 1167|  14.1k|    static_assert((std::is_same<int *, TInt::pointer>::value), "");
 1168|  14.1k|    static_assert((std::is_same<const int *, TInt::const_pointer>::value), "");
 1169|  14.1k|    static_assert((std::is_same<const int *, TConstInt::pointer>::value), "");
 1170|  14.1k|    static_assert((std::is_same<const int *, TConstInt::const_pointer>::value), "");
 1171|       |    //
 1172|  14.1k|    static_assert((std::is_same<decltype(p), TInt::pointer>::value), "");
 1173|  14.1k|    static_assert((std::is_same<decltype(c), TInt::const_pointer>::value), "");
 1174|  14.1k|    static_assert((std::is_same<decltype(c), TConstInt::pointer>::value), "");
 1175|  14.1k|    static_assert((std::is_same<decltype(p + 1), TInt::pointer>::value), "");
 1176|  14.1k|    static_assert((std::is_same<decltype(c + 1), TInt::const_pointer>::value), "");
 1177|  14.1k|    static_assert((std::is_same<decltype(c + 1), TConstInt::pointer>::value), "");
 1178|  14.1k|    static_assert((std::is_same<decltype(c + 1), TConstInt::const_pointer>::value), "");
 1179|  14.1k|    static_assert((std::is_same<decltype(c + 1), const int *>::value), "");
 1180|       |    // dereference
 1181|  14.1k|    static_assert((std::is_same<decltype(*p), TInt::reference>::value), "");
 1182|  14.1k|    static_assert((std::is_same<decltype(*c), TInt::const_reference>::value), "");
 1183|       |#if 0
 1184|       |    // this works, but avoid clang warnings:
 1185|       |    //   "Expression with side effects has no effect in an unevaluated context"
 1186|       |    static_assert((std::is_same<decltype(*p++), TInt::reference>::value), "");
 1187|       |    static_assert((std::is_same<decltype(*++p), TInt::reference>::value), "");
 1188|       |    static_assert((std::is_same<decltype(*c++), TInt::const_reference>::value), "");
 1189|       |    static_assert((std::is_same<decltype(*c++), TConstInt::reference>::value), "");
 1190|       |    static_assert((std::is_same<decltype(*c++), TConstInt::const_reference>::value), "");
 1191|       |    static_assert((std::is_same<decltype(*++c), TInt::const_reference>::value), "");
 1192|       |    static_assert((std::is_same<decltype(*++c), TConstInt::reference>::value), "");
 1193|       |    static_assert((std::is_same<decltype(*++c), TConstInt::const_reference>::value), "");
 1194|       |#endif
 1195|       |    // array access
 1196|  14.1k|    static_assert((std::is_same<decltype(p[0]), TInt::reference>::value), "");
 1197|  14.1k|    static_assert((std::is_same<decltype(c[0]), TInt::const_reference>::value), "");
 1198|  14.1k|    static_assert((std::is_same<decltype(c[0]), TConstInt::reference>::value), "");
 1199|  14.1k|    static_assert((std::is_same<decltype(c[0]), TConstInt::const_reference>::value), "");
 1200|  14.1k|    UNUSED(p);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1201|  14.1k|    UNUSED(c);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1202|  14.1k|}

_Z11upx_adler32PKvjj:
   35|   550k|unsigned upx_adler32(const void *buf, unsigned len, unsigned adler) {
   36|   550k|    if (len == 0)
  ------------------
  |  Branch (36:9): [True: 417k, False: 132k]
  ------------------
   37|   417k|        return adler;
   38|   132k|    assert(buf != nullptr);
  ------------------
  |  |  493|   132k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   265k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 132k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   39|      0|#if 1
   40|      0|    return upx_ucl_adler32(buf, len, adler);
   41|       |#else
   42|       |    return upx_zlib_adler32(buf, len, adler);
   43|       |#endif
   44|   550k|}
_Z14upx_decompressPKhjPhPjiPK21upx_compress_result_t:
  135|  22.8k|                   int method, const upx_compress_result_t *cresult) {
  136|  22.8k|    int r = UPX_E_ERROR;
  ------------------
  |  |  539|  22.8k|#define UPX_E_ERROR               (-1)
  ------------------
  137|       |
  138|  22.8k|    assert(*dst_len > 0);
  ------------------
  |  |  493|  22.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  45.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 22.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  139|  22.8k|    assert(src_len < *dst_len); // must be compressed
  ------------------
  |  |  493|  22.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  45.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 22.7k, False: 2]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 2, False: 0]
  |  |  ------------------
  ------------------
  140|       |
  141|  22.8k|    if (cresult && cresult->debug.method == 0)
  ------------------
  |  Branch (141:9): [True: 22.7k, False: 5]
  |  Branch (141:20): [True: 22.7k, False: 0]
  ------------------
  142|  22.7k|        cresult = nullptr;
  143|       |
  144|  22.8k|    const unsigned orig_dst_len = *dst_len;
  145|  22.8k|    if (__acc_cte(false)) {
  ------------------
  |  | 1558|  22.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:37): [Folded, False: 22.8k]
  |  |  ------------------
  ------------------
  146|      0|    }
  147|       |#if (WITH_BZIP2)
  148|       |    else if (M_IS_BZIP2(method))
  149|       |        r = upx_bzip2_decompress(src, src_len, dst, dst_len, method, cresult);
  150|       |#endif
  151|  22.8k|#if (WITH_LZMA)
  152|  22.8k|    else if (M_IS_LZMA(method))
  ------------------
  |  |  641|  22.8k|#define M_IS_LZMA(x)    (((x) &255) == M_LZMA)
  |  |  ------------------
  |  |  |  |  626|  22.8k|#define M_LZMA        14
  |  |  ------------------
  |  |  |  Branch (641:25): [True: 19.7k, False: 3.00k]
  |  |  ------------------
  ------------------
  153|  19.7k|        r = upx_lzma_decompress(src, src_len, dst, dst_len, method, cresult);
  154|  3.00k|#endif
  155|       |#if (WITH_NRV)
  156|       |    else if ((M_IS_NRV2B(method) || M_IS_NRV2D(method) || M_IS_NRV2E(method)) && !opt->prefer_ucl)
  157|       |        r = upx_nrv_decompress(src, src_len, dst, dst_len, method, cresult);
  158|       |#endif
  159|  3.00k|#if (WITH_UCL)
  160|  3.00k|    else if (M_IS_NRV2B(method) || M_IS_NRV2D(method) || M_IS_NRV2E(method))
  ------------------
  |  |  637|  6.01k|#define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  614|  6.01k|#define M_NRV2B_LE32  2
  |  |  ------------------
  |  |               #define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  616|  3.00k|#define M_NRV2B_LE16  4
  |  |  ------------------
  |  |  |  Branch (637:26): [True: 3.00k, False: 2]
  |  |  |  Branch (637:49): [True: 1.71k, False: 1.28k]
  |  |  ------------------
  ------------------
                  else if (M_IS_NRV2B(method) || M_IS_NRV2D(method) || M_IS_NRV2E(method))
  ------------------
  |  |  638|  4.29k|#define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  617|  2.57k|#define M_NRV2D_LE32  5
  |  |  ------------------
  |  |               #define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  619|  1.28k|#define M_NRV2D_LE16  7
  |  |  ------------------
  |  |  |  Branch (638:26): [True: 1.28k, False: 0]
  |  |  |  Branch (638:49): [True: 419, False: 867]
  |  |  ------------------
  ------------------
                  else if (M_IS_NRV2B(method) || M_IS_NRV2D(method) || M_IS_NRV2E(method))
  ------------------
  |  |  639|    867|#define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  620|  1.73k|#define M_NRV2E_LE32  8
  |  |  ------------------
  |  |               #define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  622|    867|#define M_NRV2E_LE16  10
  |  |  ------------------
  |  |  |  Branch (639:26): [True: 867, False: 0]
  |  |  |  Branch (639:49): [True: 458, False: 409]
  |  |  ------------------
  ------------------
  161|  2.59k|        r = upx_ucl_decompress(src, src_len, dst, dst_len, method, cresult);
  162|    411|#endif
  163|    411|#if (WITH_ZLIB)
  164|    411|    else if (M_IS_DEFLATE(method))
  ------------------
  |  |  642|    411|#define M_IS_DEFLATE(x) ((x) == M_DEFLATE)
  |  |  ------------------
  |  |  |  |  627|    411|#define M_DEFLATE     15 // NOT YET USED
  |  |  ------------------
  |  |  |  Branch (642:25): [True: 405, False: 6]
  |  |  ------------------
  ------------------
  165|    405|        r = upx_zlib_decompress(src, src_len, dst, dst_len, method, cresult);
  166|      6|#endif
  167|       |#if (WITH_ZSTD)
  168|       |    else if (M_IS_ZSTD(method))
  169|       |        r = upx_zstd_decompress(src, src_len, dst, dst_len, method, cresult);
  170|       |#endif
  171|      6|    else {
  172|      6|        throwInternalError("unknown compression method %d", method);
  173|      6|    }
  174|       |
  175|  22.7k|    assert_noexcept(*dst_len <= orig_dst_len);
  ------------------
  |  |  496|  22.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  45.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 22.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  176|      0|    return r;
  177|  22.8k|}

_ZN23bzip2_compress_config_t5resetEv:
   33|   155k|void bzip2_compress_config_t::reset() noexcept { mem_clear(this); }

_ZN22lzma_compress_config_t5resetEv:
   39|   155k|void lzma_compress_config_t::reset() noexcept {
   40|   155k|    pos_bits.reset();
   41|   155k|    lit_pos_bits.reset();
   42|   155k|    lit_context_bits.reset();
   43|   155k|    dict_size.reset();
   44|   155k|    fast_mode = 2;
   45|   155k|    num_fast_bytes.reset();
   46|   155k|    match_finder_cycles = 0;
   47|       |
   48|   155k|    max_num_probs = 0;
   49|   155k|}
_Z19upx_lzma_decompressPKhjPhPjiPK21upx_compress_result_t:
  403|  62.2k|                        int method, const upx_compress_result_t *cresult) {
  404|  62.2k|    assert(M_IS_LZMA(method));
  ------------------
  |  |  493|  62.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   124k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 62.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|       |    // see res->num_probs above
  406|  62.2k|    COMPILE_TIME_ASSERT(sizeof(CProb) == 2)
  ------------------
  |  |  247|  62.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  62.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  407|  62.2k|    COMPILE_TIME_ASSERT(LZMA_BASE_SIZE == 1846)
  ------------------
  |  |  247|  62.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  62.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  408|  62.2k|    COMPILE_TIME_ASSERT(LZMA_LIT_SIZE == 768)
  ------------------
  |  |  247|  62.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  62.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  409|       |
  410|  62.2k|    CLzmaDecoderState s;
  411|  62.2k|    mem_clear(&s);
  412|  62.2k|    SizeT src_out = 0, dst_out = 0;
  413|  62.2k|    int r = UPX_E_ERROR;
  ------------------
  |  |  539|  62.2k|#define UPX_E_ERROR               (-1)
  ------------------
  414|  62.2k|    int rh;
  415|       |
  416|       |    // decode UPX-style properties (2 bytes)
  417|  62.2k|    if (src_len < 3) {
  ------------------
  |  Branch (417:9): [True: 2, False: 62.2k]
  ------------------
  418|      2|        r = UPX_E_INPUT_OVERRUN;
  ------------------
  |  |  542|      2|#define UPX_E_INPUT_OVERRUN       (-4)
  ------------------
  419|      2|        goto error;
  420|      2|    }
  421|  62.2k|    s.Properties.pb = src[0] & 7;
  422|  62.2k|    s.Properties.lp = (src[1] >> 4);
  423|  62.2k|    s.Properties.lc = src[1] & 15;
  424|  62.2k|    if (s.Properties.pb >= 5)
  ------------------
  |  Branch (424:9): [True: 3, False: 62.2k]
  ------------------
  425|      3|        goto error;
  426|  62.2k|    if (s.Properties.lp >= 5)
  ------------------
  |  Branch (426:9): [True: 12, False: 62.2k]
  ------------------
  427|     12|        goto error;
  428|  62.2k|    if (s.Properties.lc >= 9)
  ------------------
  |  Branch (428:9): [True: 8, False: 62.2k]
  ------------------
  429|      8|        goto error;
  430|       |    // UPX extra stuff in first byte: 5 high bits convenience for stub decompressor
  431|  62.2k|    if ((src[0] >> 3) != s.Properties.lc + s.Properties.lp)
  ------------------
  |  Branch (431:9): [True: 9, False: 62.2k]
  ------------------
  432|      9|        goto error;
  433|  62.2k|    src += 2;
  434|  62.2k|    src_len -= 2;
  435|       |
  436|  62.2k|    if (cresult) {
  ------------------
  |  Branch (436:9): [True: 0, False: 62.2k]
  ------------------
  437|      0|        assert(cresult->debug.method == method);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|      0|        assert(cresult->result_lzma.pos_bits == (unsigned) s.Properties.pb);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  439|      0|        assert(cresult->result_lzma.lit_pos_bits == (unsigned) s.Properties.lp);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  440|      0|        assert(cresult->result_lzma.lit_context_bits == (unsigned) s.Properties.lc);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  441|      0|        assert(cresult->result_lzma.num_probs == (unsigned) LzmaGetNumProbs(&s.Properties));
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|      0|        const lzma_compress_result_t *res = &cresult->result_lzma;
  443|      0|        NO_printf("\nlzma_decompress config: %u %u %u %u %u\n", res->pos_bits, res->lit_pos_bits,
  444|      0|                  res->lit_context_bits, res->dict_size, res->num_probs);
  445|      0|        UNUSED(res);
  ------------------
  |  |  249|      0|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|      0|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  446|      0|    }
  447|  62.2k|    s.Probs = (CProb *) ::malloc(sizeof(CProb) * LzmaGetNumProbs(&s.Properties));
  ------------------
  |  |   74|  62.2k|#define LzmaGetNumProbs(Properties) (LZMA_BASE_SIZE + (LZMA_LIT_SIZE << ((Properties)->lc + (Properties)->lp)))
  |  |  ------------------
  |  |  |  |   57|  62.2k|#define LZMA_BASE_SIZE 1846
  |  |  ------------------
  |  |               #define LzmaGetNumProbs(Properties) (LZMA_BASE_SIZE + (LZMA_LIT_SIZE << ((Properties)->lc + (Properties)->lp)))
  |  |  ------------------
  |  |  |  |   58|  62.2k|#define LZMA_LIT_SIZE 768
  |  |  ------------------
  ------------------
  448|  62.2k|    if (!s.Probs) {
  ------------------
  |  Branch (448:9): [True: 0, False: 62.2k]
  ------------------
  449|      0|        r = UPX_E_OUT_OF_MEMORY;
  ------------------
  |  |  540|      0|#define UPX_E_OUT_OF_MEMORY       (-2)
  ------------------
  450|      0|        goto error;
  451|      0|    }
  452|  62.2k|    rh = LzmaDecode(&s, src, src_len, &src_out, dst, *dst_len, &dst_out);
  453|  62.2k|    assert(src_out <= src_len);
  ------------------
  |  |  493|  62.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   124k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 62.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  62.2k|    assert(dst_out <= *dst_len);
  ------------------
  |  |  493|  62.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   124k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 62.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  62.2k|    if (rh == 0) {
  ------------------
  |  Branch (455:9): [True: 33.1k, False: 29.0k]
  ------------------
  456|  33.1k|        r = UPX_E_OK;
  ------------------
  |  |  538|  33.1k|#define UPX_E_OK                  (0)
  ------------------
  457|  33.1k|        if (src_out != src_len)
  ------------------
  |  Branch (457:13): [True: 10, False: 33.1k]
  ------------------
  458|     10|            r = UPX_E_INPUT_NOT_CONSUMED;
  ------------------
  |  |  546|     10|#define UPX_E_INPUT_NOT_CONSUMED  (-8)
  ------------------
  459|  33.1k|    } else if (rh == LZMA_RESULT_INPUT_OVERRUN)
  ------------------
  |  |   43|  29.0k|#define LZMA_RESULT_INPUT_OVERRUN 2  // added for UPX
  ------------------
  |  Branch (459:16): [True: 14.2k, False: 14.8k]
  ------------------
  460|  14.2k|        r = UPX_E_INPUT_OVERRUN;
  ------------------
  |  |  542|  14.2k|#define UPX_E_INPUT_OVERRUN       (-4)
  ------------------
  461|  14.8k|    else if (rh == LZMA_RESULT_OUTPUT_OVERRUN)
  ------------------
  |  |   44|  14.8k|#define LZMA_RESULT_OUTPUT_OVERRUN 3 // added for UPX
  ------------------
  |  Branch (461:14): [True: 14.2k, False: 666]
  ------------------
  462|  14.2k|        r = UPX_E_OUTPUT_OVERRUN;
  ------------------
  |  |  543|  14.2k|#define UPX_E_OUTPUT_OVERRUN      (-5)
  ------------------
  463|       |
  464|  62.2k|error:
  465|  62.2k|    *dst_len = dst_out;
  466|  62.2k|    ::free(s.Probs);
  467|  62.2k|    return r;
  468|  62.2k|}
_Z13upx_lzma_initv:
  500|  14.1k|int upx_lzma_init(void) { return 0; }
compress_lzma.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
  508|  14.1k|TEST_CASE("upx_lzma_decompress") {
  509|  14.1k|    const byte *c_data;
  510|  14.1k|    byte d_buf[16];
  511|  14.1k|    unsigned d_len;
  512|  14.1k|    int r;
  513|       |
  514|  14.1k|    c_data = (const byte *) "\x1a\x03\x00\x7f\xed\x3c\x00\x00\x00";
  515|  14.1k|    d_len = 16;
  516|  14.1k|    r = upx_lzma_decompress(c_data, 9, d_buf, &d_len, M_LZMA, nullptr);
  ------------------
  |  |  626|  14.1k|#define M_LZMA        14
  ------------------
  517|  14.1k|    CHECK((r == 0 && d_len == 16));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  28.2k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 14.1k, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 14.1k, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  518|  14.1k|    r = upx_lzma_decompress(c_data, 8, d_buf, &d_len, M_LZMA, nullptr);
  ------------------
  |  |  626|  14.1k|#define M_LZMA        14
  ------------------
  519|  14.1k|    CHECK(r == UPX_E_INPUT_OVERRUN);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  520|  14.1k|    d_len = 15;
  521|  14.1k|    r = upx_lzma_decompress(c_data, 9, d_buf, &d_len, M_LZMA, nullptr);
  ------------------
  |  |  626|  14.1k|#define M_LZMA        14
  ------------------
  522|  14.1k|    CHECK(r == UPX_E_OUTPUT_OVERRUN);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  523|  14.1k|    UNUSED(r);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  524|  14.1k|}

_Z18upx_ucl_decompressPKhjPhPjiPK21upx_compress_result_t:
  154|   129k|                       int method, const upx_compress_result_t *cresult) {
  155|   129k|    int r;
  156|       |
  157|   129k|    switch (method) {
  158|  42.5k|    case M_NRV2B_8:
  ------------------
  |  |  615|  42.5k|#define M_NRV2B_8     3
  ------------------
  |  Branch (158:5): [True: 42.5k, False: 87.3k]
  ------------------
  159|  42.5k|        r = ucl_nrv2b_decompress_safe_8(src, src_len, dst, dst_len, nullptr);
  160|  42.5k|        break;
  161|    119|    case M_NRV2B_LE16:
  ------------------
  |  |  616|    119|#define M_NRV2B_LE16  4
  ------------------
  |  Branch (161:5): [True: 119, False: 129k]
  ------------------
  162|    119|        r = ucl_nrv2b_decompress_safe_le16(src, src_len, dst, dst_len, nullptr);
  163|    119|        break;
  164|  1.45k|    case M_NRV2B_LE32:
  ------------------
  |  |  614|  1.45k|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (164:5): [True: 1.45k, False: 128k]
  ------------------
  165|  1.45k|        r = ucl_nrv2b_decompress_safe_le32(src, src_len, dst, dst_len, nullptr);
  166|  1.45k|        break;
  167|  42.5k|    case M_NRV2D_8:
  ------------------
  |  |  618|  42.5k|#define M_NRV2D_8     6
  ------------------
  |  Branch (167:5): [True: 42.5k, False: 87.3k]
  ------------------
  168|  42.5k|        r = ucl_nrv2d_decompress_safe_8(src, src_len, dst, dst_len, nullptr);
  169|  42.5k|        break;
  170|    117|    case M_NRV2D_LE16:
  ------------------
  |  |  619|    117|#define M_NRV2D_LE16  7
  ------------------
  |  Branch (170:5): [True: 117, False: 129k]
  ------------------
  171|    117|        r = ucl_nrv2d_decompress_safe_le16(src, src_len, dst, dst_len, nullptr);
  172|    117|        break;
  173|    167|    case M_NRV2D_LE32:
  ------------------
  |  |  617|    167|#define M_NRV2D_LE32  5
  ------------------
  |  Branch (173:5): [True: 167, False: 129k]
  ------------------
  174|    167|        r = ucl_nrv2d_decompress_safe_le32(src, src_len, dst, dst_len, nullptr);
  175|    167|        break;
  176|  42.5k|    case M_NRV2E_8:
  ------------------
  |  |  621|  42.5k|#define M_NRV2E_8     9
  ------------------
  |  Branch (176:5): [True: 42.5k, False: 87.3k]
  ------------------
  177|  42.5k|        r = ucl_nrv2e_decompress_safe_8(src, src_len, dst, dst_len, nullptr);
  178|  42.5k|        break;
  179|    167|    case M_NRV2E_LE16:
  ------------------
  |  |  622|    167|#define M_NRV2E_LE16  10
  ------------------
  |  Branch (179:5): [True: 167, False: 129k]
  ------------------
  180|    167|        r = ucl_nrv2e_decompress_safe_le16(src, src_len, dst, dst_len, nullptr);
  181|    167|        break;
  182|    161|    case M_NRV2E_LE32:
  ------------------
  |  |  620|    161|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (182:5): [True: 161, False: 129k]
  ------------------
  183|    161|        r = ucl_nrv2e_decompress_safe_le32(src, src_len, dst, dst_len, nullptr);
  184|    161|        break;
  185|      0|    default:
  ------------------
  |  Branch (185:5): [True: 0, False: 129k]
  ------------------
  186|      0|        throwInternalError("unknown decompression method");
  187|      0|        return UPX_E_ERROR;
  ------------------
  |  |  539|      0|#define UPX_E_ERROR               (-1)
  ------------------
  188|   129k|    }
  189|       |
  190|   129k|    UNUSED(cresult);
  ------------------
  |  |  249|   129k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|   129k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  191|   129k|    return convert_errno_from_ucl(r);
  192|   129k|}
_Z12upx_ucl_initv:
  250|  14.1k|int upx_ucl_init(void) {
  251|       |#if 1 && (ACC_CC_MSC && ACC_ARCH_I386) && (_MSC_VER >= 1940)
  252|       |    // @COMPILER_BUG @MSVC_BUG
  253|       |    (void) ucl_init();
  254|       |#else
  255|  14.1k|    if (ucl_init() != UCL_E_OK)
  ------------------
  |  |  377|  14.1k|#define ucl_init() __ucl_init2(UCL_VERSION,(int)sizeof(short),(int)sizeof(int),\
  |  |  ------------------
  |  |  |  |   40|  14.1k|#define UCL_VERSION             0x010300L
  |  |  ------------------
  |  |  378|  14.1k|    (int)sizeof(long),(int)sizeof(ucl_uint32),(int)sizeof(ucl_uint),\
  |  |  379|  14.1k|    (int)-1,(int)sizeof(char *),(int)sizeof(ucl_voidp),\
  |  |  380|  14.1k|    (int)sizeof(ucl_compress_t))
  ------------------
                  if (ucl_init() != UCL_E_OK)
  ------------------
  |  |  356|  14.1k|#define UCL_E_OK                    0
  ------------------
  |  Branch (255:9): [True: 0, False: 14.1k]
  ------------------
  256|      0|        return -1;
  257|  14.1k|#endif
  258|  14.1k|    if (UCL_VERSION != ucl_version() || strcmp(UCL_VERSION_STRING, ucl_version_string()) != 0)
  ------------------
  |  |   40|  14.1k|#define UCL_VERSION             0x010300L
  ------------------
                  if (UCL_VERSION != ucl_version() || strcmp(UCL_VERSION_STRING, ucl_version_string()) != 0)
  ------------------
  |  |   41|  14.1k|#define UCL_VERSION_STRING      "1.03"
  ------------------
  |  Branch (258:9): [True: 0, False: 14.1k]
  |  Branch (258:41): [True: 0, False: 14.1k]
  ------------------
  259|      0|        return -2;
  260|  14.1k|    ucl_set_malloc_hooks(my_malloc, my_free);
  261|  14.1k|    return 0;
  262|  14.1k|}
_Z15upx_ucl_adler32PKvjj:
  266|   132k|unsigned upx_ucl_adler32(const void *buf, unsigned len, unsigned adler) {
  267|   132k|    return ucl_adler32(adler, (const ucl_bytep) buf, len);
  268|   132k|}
compress_ucl.cpp:_ZL22convert_errno_from_ucli:
   34|   129k|static int convert_errno_from_ucl(int r) {
   35|   129k|    switch (r) {
   36|  43.7k|    case UCL_E_OK:
  ------------------
  |  |  356|  43.7k|#define UCL_E_OK                    0
  ------------------
  |  Branch (36:5): [True: 43.7k, False: 86.1k]
  ------------------
   37|  43.7k|        return UPX_E_OK;
  ------------------
  |  |  538|  43.7k|#define UPX_E_OK                  (0)
  ------------------
   38|      0|    case UCL_E_ERROR:
  ------------------
  |  |  357|      0|#define UCL_E_ERROR                 (-1)
  ------------------
  |  Branch (38:5): [True: 0, False: 129k]
  ------------------
   39|      0|        return UPX_E_ERROR;
  ------------------
  |  |  539|      0|#define UPX_E_ERROR               (-1)
  ------------------
   40|      0|    case UCL_E_OUT_OF_MEMORY:
  ------------------
  |  |  359|      0|#define UCL_E_OUT_OF_MEMORY         (-3)
  ------------------
  |  Branch (40:5): [True: 0, False: 129k]
  ------------------
   41|      0|        return UPX_E_OUT_OF_MEMORY;
  ------------------
  |  |  540|      0|#define UPX_E_OUT_OF_MEMORY       (-2)
  ------------------
   42|      0|    case UCL_E_NOT_COMPRESSIBLE:
  ------------------
  |  |  361|      0|#define UCL_E_NOT_COMPRESSIBLE      (-101)
  ------------------
  |  Branch (42:5): [True: 0, False: 129k]
  ------------------
   43|      0|        return UPX_E_NOT_COMPRESSIBLE;
  ------------------
  |  |  541|      0|#define UPX_E_NOT_COMPRESSIBLE    (-3)
  ------------------
   44|  42.6k|    case UCL_E_INPUT_OVERRUN:
  ------------------
  |  |  363|  42.6k|#define UCL_E_INPUT_OVERRUN         (-201)
  ------------------
  |  Branch (44:5): [True: 42.6k, False: 87.3k]
  ------------------
   45|  42.6k|        return UPX_E_INPUT_OVERRUN;
  ------------------
  |  |  542|  42.6k|#define UPX_E_INPUT_OVERRUN       (-4)
  ------------------
   46|  42.7k|    case UCL_E_OUTPUT_OVERRUN:
  ------------------
  |  |  364|  42.7k|#define UCL_E_OUTPUT_OVERRUN        (-202)
  ------------------
  |  Branch (46:5): [True: 42.7k, False: 87.1k]
  ------------------
   47|  42.7k|        return UPX_E_OUTPUT_OVERRUN;
  ------------------
  |  |  543|  42.7k|#define UPX_E_OUTPUT_OVERRUN      (-5)
  ------------------
   48|    809|    case UCL_E_LOOKBEHIND_OVERRUN:
  ------------------
  |  |  365|    809|#define UCL_E_LOOKBEHIND_OVERRUN    (-203)
  ------------------
  |  Branch (48:5): [True: 809, False: 129k]
  ------------------
   49|    809|        return UPX_E_LOOKBEHIND_OVERRUN;
  ------------------
  |  |  544|    809|#define UPX_E_LOOKBEHIND_OVERRUN  (-6)
  ------------------
   50|      0|    case UCL_E_EOF_NOT_FOUND:
  ------------------
  |  |  366|      0|#define UCL_E_EOF_NOT_FOUND         (-204)
  ------------------
  |  Branch (50:5): [True: 0, False: 129k]
  ------------------
   51|      0|        return UPX_E_EOF_NOT_FOUND;
  ------------------
  |  |  545|      0|#define UPX_E_EOF_NOT_FOUND       (-7)
  ------------------
   52|      5|    case UCL_E_INPUT_NOT_CONSUMED:
  ------------------
  |  |  367|      5|#define UCL_E_INPUT_NOT_CONSUMED    (-205)
  ------------------
  |  Branch (52:5): [True: 5, False: 129k]
  ------------------
   53|      5|        return UPX_E_INPUT_NOT_CONSUMED;
  ------------------
  |  |  546|      5|#define UPX_E_INPUT_NOT_CONSUMED  (-8)
  ------------------
   54|      0|    case UCL_E_INVALID_ARGUMENT:
  ------------------
  |  |  358|      0|#define UCL_E_INVALID_ARGUMENT      (-2)
  ------------------
  |  Branch (54:5): [True: 0, False: 129k]
  ------------------
   55|      0|        return UPX_E_INVALID_ARGUMENT;
  ------------------
  |  |  548|      0|#define UPX_E_INVALID_ARGUMENT    (-10)
  ------------------
   56|       |    // UCL extra:
   57|      0|    case UCL_E_OVERLAP_OVERRUN:
  ------------------
  |  |  368|      0|#define UCL_E_OVERLAP_OVERRUN       (-206)
  ------------------
  |  Branch (57:5): [True: 0, False: 129k]
  ------------------
   58|      0|        return UPX_E_ERROR;
  ------------------
  |  |  539|      0|#define UPX_E_ERROR               (-1)
  ------------------
   59|      0|    default:
  ------------------
  |  Branch (59:5): [True: 0, False: 129k]
  ------------------
   60|      0|        break;
   61|   129k|    }
   62|      0|    return UPX_E_ERROR;
  ------------------
  |  |  539|      0|#define UPX_E_ERROR               (-1)
  ------------------
   63|   129k|}
compress_ucl.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
  336|  14.1k|TEST_CASE("upx_ucl_decompress") {
  337|  14.1k|    const byte *c_data;
  338|  14.1k|    byte d_buf[16];
  339|  14.1k|    unsigned d_len;
  340|  14.1k|    int r;
  341|       |
  342|  14.1k|    c_data = (const byte *) "\x92\xff\x10\x00\x00\x00\x00\x00\x48\xff";
  343|  14.1k|    d_len = 16;
  344|  14.1k|    r = upx_ucl_decompress(c_data, 10, d_buf, &d_len, M_NRV2B_8, nullptr);
  ------------------
  |  |  615|  14.1k|#define M_NRV2B_8     3
  ------------------
  345|  14.1k|    CHECK((r == 0 && d_len == 16));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  28.2k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 14.1k, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 14.1k, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  346|  14.1k|    r = upx_ucl_decompress(c_data, 9, d_buf, &d_len, M_NRV2B_8, nullptr);
  ------------------
  |  |  615|  14.1k|#define M_NRV2B_8     3
  ------------------
  347|  14.1k|    CHECK(r == UPX_E_INPUT_OVERRUN);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  348|  14.1k|    d_len = 15;
  349|  14.1k|    r = upx_ucl_decompress(c_data, 10, d_buf, &d_len, M_NRV2B_8, nullptr);
  ------------------
  |  |  615|  14.1k|#define M_NRV2B_8     3
  ------------------
  350|  14.1k|    CHECK(r == UPX_E_OUTPUT_OVERRUN);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  351|       |
  352|  14.1k|    c_data = (const byte *) "\x92\xff\x10\x92\x49\x24\x92\xa0\xff";
  353|  14.1k|    d_len = 16;
  354|  14.1k|    r = upx_ucl_decompress(c_data, 9, d_buf, &d_len, M_NRV2D_8, nullptr);
  ------------------
  |  |  618|  14.1k|#define M_NRV2D_8     6
  ------------------
  355|  14.1k|    CHECK((r == 0 && d_len == 16));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  28.2k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 14.1k, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 14.1k, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  356|  14.1k|    r = upx_ucl_decompress(c_data, 8, d_buf, &d_len, M_NRV2D_8, nullptr);
  ------------------
  |  |  618|  14.1k|#define M_NRV2D_8     6
  ------------------
  357|  14.1k|    CHECK(r == UPX_E_INPUT_OVERRUN);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  358|  14.1k|    d_len = 15;
  359|  14.1k|    r = upx_ucl_decompress(c_data, 9, d_buf, &d_len, M_NRV2D_8, nullptr);
  ------------------
  |  |  618|  14.1k|#define M_NRV2D_8     6
  ------------------
  360|  14.1k|    CHECK(r == UPX_E_OUTPUT_OVERRUN);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  361|       |
  362|  14.1k|    c_data = (const byte *) "\x90\xff\xb0\x92\x49\x24\x92\xa0\xff";
  363|  14.1k|    d_len = 16;
  364|  14.1k|    r = upx_ucl_decompress(c_data, 9, d_buf, &d_len, M_NRV2E_8, nullptr);
  ------------------
  |  |  621|  14.1k|#define M_NRV2E_8     9
  ------------------
  365|  14.1k|    CHECK((r == 0 && d_len == 16));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  28.2k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 14.1k, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 14.1k, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  366|  14.1k|    r = upx_ucl_decompress(c_data, 8, d_buf, &d_len, M_NRV2E_8, nullptr);
  ------------------
  |  |  621|  14.1k|#define M_NRV2E_8     9
  ------------------
  367|  14.1k|    CHECK(r == UPX_E_INPUT_OVERRUN);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  368|  14.1k|    d_len = 15;
  369|  14.1k|    r = upx_ucl_decompress(c_data, 9, d_buf, &d_len, M_NRV2E_8, nullptr);
  ------------------
  |  |  621|  14.1k|#define M_NRV2E_8     9
  ------------------
  370|  14.1k|    CHECK(r == UPX_E_OUTPUT_OVERRUN);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  371|  14.1k|    UNUSED(r);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  372|  14.1k|}

_ZN22zlib_compress_config_t5resetEv:
   29|   155k|void zlib_compress_config_t::reset() noexcept {
   30|   155k|    mem_clear(this);
   31|   155k|    mem_level.reset();
   32|   155k|    window_bits.reset();
   33|   155k|    strategy.reset();
   34|   155k|}
_Z19upx_zlib_decompressPKhjPhPjiPK21upx_compress_result_t:
  147|  42.8k|                        int method, const upx_compress_result_t *cresult) {
  148|  42.8k|    assert(method == M_DEFLATE);
  ------------------
  |  |  493|  42.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  85.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 42.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  149|  42.8k|    UNUSED(method);
  ------------------
  |  |  249|  42.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  42.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  150|  42.8k|    UNUSED(cresult);
  ------------------
  |  |  249|  42.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  42.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  151|  42.8k|    int r = UPX_E_ERROR;
  ------------------
  |  |  539|  42.8k|#define UPX_E_ERROR               (-1)
  ------------------
  152|  42.8k|    int zr;
  153|       |
  154|  42.8k|    z_stream s;
  155|  42.8k|    s.zalloc = (alloc_func) nullptr;
  156|  42.8k|    s.zfree = (free_func) nullptr;
  157|  42.8k|    s.next_in = src;
  158|  42.8k|    s.avail_in = src_len;
  159|  42.8k|    s.next_out = dst;
  160|  42.8k|    s.avail_out = *dst_len;
  161|  42.8k|    s.total_in = s.total_out = 0;
  162|       |
  163|  42.8k|    zr = inflateInit2(&s, -15);
  ------------------
  |  | 1836|  42.8k|          inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
  |  |  ------------------
  |  |  |  |   40|  42.8k|#define ZLIB_VERSION "1.3.1.1-motley"
  |  |  ------------------
  |  | 1837|  42.8k|                        (int)sizeof(z_stream))
  ------------------
  164|  42.8k|    if (zr != Z_OK)
  ------------------
  |  |  177|  42.8k|#define Z_OK            0
  ------------------
  |  Branch (164:9): [True: 0, False: 42.8k]
  ------------------
  165|      0|        goto error;
  166|  42.8k|    zr = inflate(&s, Z_FINISH);
  ------------------
  |  |  172|  42.8k|#define Z_FINISH        4
  ------------------
  167|  42.8k|    if (zr != Z_STREAM_END) {
  ------------------
  |  |  178|  42.8k|#define Z_STREAM_END    1
  ------------------
  |  Branch (167:9): [True: 28.6k, False: 14.1k]
  ------------------
  168|  28.6k|        if (zr == Z_BUF_ERROR && s.avail_in == 0)
  ------------------
  |  |  184|  57.3k|#define Z_BUF_ERROR    (-5)
  ------------------
  |  Branch (168:13): [True: 28.4k, False: 277]
  |  Branch (168:34): [True: 14.2k, False: 14.1k]
  ------------------
  169|  14.2k|            zr = -7; // UPX extra
  170|  28.6k|        goto error;
  171|  28.6k|    }
  172|  14.1k|    zr = inflateEnd(&s);
  173|  14.1k|    if (zr != Z_OK)
  ------------------
  |  |  177|  14.1k|#define Z_OK            0
  ------------------
  |  Branch (173:9): [True: 0, False: 14.1k]
  ------------------
  174|      0|        goto error;
  175|  14.1k|    r = UPX_E_OK;
  ------------------
  |  |  538|  14.1k|#define UPX_E_OK                  (0)
  ------------------
  176|  14.1k|    goto done;
  177|  28.6k|error:
  178|  28.6k|    (void) inflateEnd(&s);
  179|  28.6k|    r = convert_errno_from_zlib(zr);
  180|  28.6k|    if (r == UPX_E_OK)
  ------------------
  |  |  538|  28.6k|#define UPX_E_OK                  (0)
  ------------------
  |  Branch (180:9): [True: 0, False: 28.6k]
  ------------------
  181|      0|        r = UPX_E_ERROR;
  ------------------
  |  |  539|      0|#define UPX_E_ERROR               (-1)
  ------------------
  182|  42.8k|done:
  183|  42.8k|    if (r == UPX_E_OK) {
  ------------------
  |  |  538|  42.8k|#define UPX_E_OK                  (0)
  ------------------
  |  Branch (183:9): [True: 14.1k, False: 28.6k]
  ------------------
  184|  14.1k|        if (s.avail_in != 0 || s.total_in != src_len)
  ------------------
  |  Branch (184:13): [True: 14, False: 14.1k]
  |  Branch (184:32): [True: 0, False: 14.1k]
  ------------------
  185|     14|            r = UPX_E_INPUT_NOT_CONSUMED;
  ------------------
  |  |  546|     14|#define UPX_E_INPUT_NOT_CONSUMED  (-8)
  ------------------
  186|  14.1k|    }
  187|  42.8k|    assert(s.total_in <= src_len);
  ------------------
  |  |  493|  42.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  85.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 42.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  188|  42.8k|    assert(s.total_out <= *dst_len);
  ------------------
  |  |  493|  42.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  85.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 42.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  189|      0|    *dst_len = s.total_out;
  190|  42.8k|    return r;
  191|  28.6k|}
_Z13upx_zlib_initv:
  223|  14.1k|int upx_zlib_init(void) {
  224|  14.1k|    if (strcmp(ZLIB_VERSION, zlibVersion()) != 0)
  ------------------
  |  |   40|  14.1k|#define ZLIB_VERSION "1.3.1.1-motley"
  ------------------
  |  Branch (224:9): [True: 0, False: 14.1k]
  ------------------
  225|      0|        return -2;
  226|  14.1k|    return 0;
  227|  14.1k|}
compress_zlib.cpp:_ZL23convert_errno_from_zlibi:
   45|  28.6k|static int convert_errno_from_zlib(int zr) {
   46|  28.6k|    switch (zr) {
   47|      0|    case Z_OK:
  ------------------
  |  |  177|      0|#define Z_OK            0
  ------------------
  |  Branch (47:5): [True: 0, False: 28.6k]
  ------------------
   48|      0|        return UPX_E_OK;
  ------------------
  |  |  538|      0|#define UPX_E_OK                  (0)
  ------------------
   49|       |    // positive values
   50|      0|    case Z_STREAM_END:
  ------------------
  |  |  178|      0|#define Z_STREAM_END    1
  ------------------
  |  Branch (50:5): [True: 0, False: 28.6k]
  ------------------
   51|      0|        return UPX_E_ERROR;
  ------------------
  |  |  539|      0|#define UPX_E_ERROR               (-1)
  ------------------
   52|      0|    case Z_NEED_DICT:
  ------------------
  |  |  179|      0|#define Z_NEED_DICT     2
  ------------------
  |  Branch (52:5): [True: 0, False: 28.6k]
  ------------------
   53|      0|        return UPX_E_ERROR;
  ------------------
  |  |  539|      0|#define UPX_E_ERROR               (-1)
  ------------------
   54|       |    // negative values
   55|      0|    case Z_ERRNO:
  ------------------
  |  |  180|      0|#define Z_ERRNO        (-1)
  ------------------
  |  Branch (55:5): [True: 0, False: 28.6k]
  ------------------
   56|      0|        return UPX_E_ERROR;
  ------------------
  |  |  539|      0|#define UPX_E_ERROR               (-1)
  ------------------
   57|      0|    case Z_STREAM_ERROR:
  ------------------
  |  |  181|      0|#define Z_STREAM_ERROR (-2)
  ------------------
  |  Branch (57:5): [True: 0, False: 28.6k]
  ------------------
   58|      0|        return UPX_E_ERROR;
  ------------------
  |  |  539|      0|#define UPX_E_ERROR               (-1)
  ------------------
   59|    277|    case Z_DATA_ERROR:
  ------------------
  |  |  182|    277|#define Z_DATA_ERROR   (-3)
  ------------------
  |  Branch (59:5): [True: 277, False: 28.4k]
  ------------------
   60|    277|        return UPX_E_ERROR;
  ------------------
  |  |  539|    277|#define UPX_E_ERROR               (-1)
  ------------------
   61|      0|    case Z_MEM_ERROR:
  ------------------
  |  |  183|      0|#define Z_MEM_ERROR    (-4)
  ------------------
  |  Branch (61:5): [True: 0, False: 28.6k]
  ------------------
   62|      0|        return UPX_E_OUT_OF_MEMORY;
  ------------------
  |  |  540|      0|#define UPX_E_OUT_OF_MEMORY       (-2)
  ------------------
   63|  14.1k|    case Z_BUF_ERROR:
  ------------------
  |  |  184|  14.1k|#define Z_BUF_ERROR    (-5)
  ------------------
  |  Branch (63:5): [True: 14.1k, False: 14.5k]
  ------------------
   64|  14.1k|        return UPX_E_OUTPUT_OVERRUN;
  ------------------
  |  |  543|  14.1k|#define UPX_E_OUTPUT_OVERRUN      (-5)
  ------------------
   65|      0|    case Z_VERSION_ERROR:
  ------------------
  |  |  185|      0|#define Z_VERSION_ERROR (-6)
  ------------------
  |  Branch (65:5): [True: 0, False: 28.6k]
  ------------------
   66|      0|        return UPX_E_ERROR;
  ------------------
  |  |  539|      0|#define UPX_E_ERROR               (-1)
  ------------------
   67|  14.2k|    case -7: // UPX extra
  ------------------
  |  Branch (67:5): [True: 14.2k, False: 14.4k]
  ------------------
   68|  14.2k|        return UPX_E_INPUT_OVERRUN;
  ------------------
  |  |  542|  14.2k|#define UPX_E_INPUT_OVERRUN       (-4)
  ------------------
   69|      0|    default:
  ------------------
  |  Branch (69:5): [True: 0, False: 28.6k]
  ------------------
   70|      0|        break;
   71|  28.6k|    }
   72|      0|    return UPX_E_ERROR;
  ------------------
  |  |  539|      0|#define UPX_E_ERROR               (-1)
  ------------------
   73|  28.6k|}
compress_zlib.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
  294|  14.1k|TEST_CASE("upx_zlib_decompress") {
  295|  14.1k|    const byte *c_data;
  296|  14.1k|    byte d_buf[16];
  297|  14.1k|    unsigned d_len;
  298|  14.1k|    int r;
  299|       |
  300|  14.1k|    c_data = (const byte *) "\xfb\xff\x1f\x15\x00\x00";
  301|  14.1k|    d_len = 16;
  302|  14.1k|    r = upx_zlib_decompress(c_data, 6, d_buf, &d_len, M_DEFLATE, nullptr);
  ------------------
  |  |  627|  14.1k|#define M_DEFLATE     15 // NOT YET USED
  ------------------
  303|  14.1k|    CHECK((r == 0 && d_len == 16));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  28.2k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 14.1k, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 14.1k, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  304|  14.1k|    r = upx_zlib_decompress(c_data, 5, d_buf, &d_len, M_DEFLATE, nullptr);
  ------------------
  |  |  627|  14.1k|#define M_DEFLATE     15 // NOT YET USED
  ------------------
  305|  14.1k|    CHECK(r == UPX_E_INPUT_OVERRUN);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  306|  14.1k|    d_len = 15;
  307|  14.1k|    r = upx_zlib_decompress(c_data, 6, d_buf, &d_len, M_DEFLATE, nullptr);
  ------------------
  |  |  627|  14.1k|#define M_DEFLATE     15 // NOT YET USED
  ------------------
  308|  14.1k|    CHECK(r == UPX_E_OUTPUT_OVERRUN);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  309|  14.1k|    UNUSED(r);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  310|  14.1k|}

_ZN22zstd_compress_config_t5resetEv:
   35|   155k|void zstd_compress_config_t::reset() noexcept { mem_clear(this); }

_Z9NO_printfPKcz:
  385|   391k|inline void NO_printf(const char *, ...) noexcept {}
_Z10NO_fprintfP8_IO_FILEPKcz:
  387|  8.59M|inline void NO_fprintf(FILE *, const char *, ...) noexcept {}
_ZN14upx_callback_t5resetEv:
  676|   824k|    void reset() noexcept { mem_clear(this); }
_ZN21ucl_compress_config_t5resetEv:
  710|   155k|    void reset() noexcept { memset(this, 0xff, sizeof(*this)); }
_ZN23bzip2_compress_result_t5resetEv:
  756|  1.23M|    void reset() noexcept { mem_clear(this); }
_ZN22lzma_compress_result_t5resetEv:
  769|  1.23M|    void reset() noexcept { mem_clear(this); }
_ZN21ucl_compress_result_t5resetEv:
  775|  1.23M|    void reset() noexcept { mem_clear(this); }
_ZN22zlib_compress_result_t5resetEv:
  781|  1.23M|    void reset() noexcept { mem_clear(this); }
_ZN22zstd_compress_result_t5resetEv:
  787|  1.23M|    void reset() noexcept { mem_clear(this); }
_ZN21upx_compress_result_t5Debug5resetEv:
  795|  1.23M|        void reset() noexcept { mem_clear(this); }
_ZN21upx_compress_result_t5resetEv:
  805|  1.23M|    void reset() noexcept {
  806|  1.23M|        debug.reset();
  807|  1.23M|        result_bzip2.reset();
  808|  1.23M|        result_lzma.reset();
  809|  1.23M|        result_ucl.reset();
  810|  1.23M|        result_zlib.reset();
  811|  1.23M|        result_zstd.reset();
  812|  1.23M|    }
_Z9mem_clearI14upx_callback_tEvPT_:
  453|   824k|inline void mem_clear(T *object) noexcept {
  454|   824k|    static_assert(std::is_class_v<T>); // UPX convention
  455|   824k|    static_assert(std::is_standard_layout_v<T>);
  456|   824k|    static_assert(std::is_trivially_copyable_v<T>);
  457|   824k|    constexpr size_t size = sizeof(*object);
  458|   824k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|   824k|    memset((void *) object, 0, size);
  461|   824k|}
_Z9mem_clearI23bzip2_compress_result_tEvPT_:
  453|  1.23M|inline void mem_clear(T *object) noexcept {
  454|  1.23M|    static_assert(std::is_class_v<T>); // UPX convention
  455|  1.23M|    static_assert(std::is_standard_layout_v<T>);
  456|  1.23M|    static_assert(std::is_trivially_copyable_v<T>);
  457|  1.23M|    constexpr size_t size = sizeof(*object);
  458|  1.23M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  1.23M|    memset((void *) object, 0, size);
  461|  1.23M|}
_Z9mem_clearI22lzma_compress_result_tEvPT_:
  453|  1.23M|inline void mem_clear(T *object) noexcept {
  454|  1.23M|    static_assert(std::is_class_v<T>); // UPX convention
  455|  1.23M|    static_assert(std::is_standard_layout_v<T>);
  456|  1.23M|    static_assert(std::is_trivially_copyable_v<T>);
  457|  1.23M|    constexpr size_t size = sizeof(*object);
  458|  1.23M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  1.23M|    memset((void *) object, 0, size);
  461|  1.23M|}
_Z9mem_clearI21ucl_compress_result_tEvPT_:
  453|  1.23M|inline void mem_clear(T *object) noexcept {
  454|  1.23M|    static_assert(std::is_class_v<T>); // UPX convention
  455|  1.23M|    static_assert(std::is_standard_layout_v<T>);
  456|  1.23M|    static_assert(std::is_trivially_copyable_v<T>);
  457|  1.23M|    constexpr size_t size = sizeof(*object);
  458|  1.23M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  1.23M|    memset((void *) object, 0, size);
  461|  1.23M|}
_Z9mem_clearI22zlib_compress_result_tEvPT_:
  453|  1.23M|inline void mem_clear(T *object) noexcept {
  454|  1.23M|    static_assert(std::is_class_v<T>); // UPX convention
  455|  1.23M|    static_assert(std::is_standard_layout_v<T>);
  456|  1.23M|    static_assert(std::is_trivially_copyable_v<T>);
  457|  1.23M|    constexpr size_t size = sizeof(*object);
  458|  1.23M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  1.23M|    memset((void *) object, 0, size);
  461|  1.23M|}
_Z9mem_clearI22zstd_compress_result_tEvPT_:
  453|  1.23M|inline void mem_clear(T *object) noexcept {
  454|  1.23M|    static_assert(std::is_class_v<T>); // UPX convention
  455|  1.23M|    static_assert(std::is_standard_layout_v<T>);
  456|  1.23M|    static_assert(std::is_trivially_copyable_v<T>);
  457|  1.23M|    constexpr size_t size = sizeof(*object);
  458|  1.23M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  1.23M|    memset((void *) object, 0, size);
  461|  1.23M|}
_Z9mem_clearIN21upx_compress_result_t5DebugEEvPT_:
  453|  1.23M|inline void mem_clear(T *object) noexcept {
  454|  1.23M|    static_assert(std::is_class_v<T>); // UPX convention
  455|  1.23M|    static_assert(std::is_standard_layout_v<T>);
  456|  1.23M|    static_assert(std::is_trivially_copyable_v<T>);
  457|  1.23M|    constexpr size_t size = sizeof(*object);
  458|  1.23M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  1.23M|    memset((void *) object, 0, size);
  461|  1.23M|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIcE5TestTEEvPT_:
  453|  28.2k|inline void mem_clear(T *object) noexcept {
  454|  28.2k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  456|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  28.2k|    constexpr size_t size = sizeof(*object);
  458|  28.2k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  28.2k|    memset((void *) object, 0, size);
  461|  28.2k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIaE5TestTEEvPT_:
  453|  56.5k|inline void mem_clear(T *object) noexcept {
  454|  56.5k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  56.5k|    static_assert(std::is_standard_layout_v<T>);
  456|  56.5k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  56.5k|    constexpr size_t size = sizeof(*object);
  458|  56.5k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  56.5k|    memset((void *) object, 0, size);
  461|  56.5k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIhE5TestTEEvPT_:
  453|  56.5k|inline void mem_clear(T *object) noexcept {
  454|  56.5k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  56.5k|    static_assert(std::is_standard_layout_v<T>);
  456|  56.5k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  56.5k|    constexpr size_t size = sizeof(*object);
  458|  56.5k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  56.5k|    memset((void *) object, 0, size);
  461|  56.5k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIsE5TestTEEvPT_:
  453|  56.5k|inline void mem_clear(T *object) noexcept {
  454|  56.5k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  56.5k|    static_assert(std::is_standard_layout_v<T>);
  456|  56.5k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  56.5k|    constexpr size_t size = sizeof(*object);
  458|  56.5k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  56.5k|    memset((void *) object, 0, size);
  461|  56.5k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralItE5TestTEEvPT_:
  453|  56.5k|inline void mem_clear(T *object) noexcept {
  454|  56.5k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  56.5k|    static_assert(std::is_standard_layout_v<T>);
  456|  56.5k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  56.5k|    constexpr size_t size = sizeof(*object);
  458|  56.5k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  56.5k|    memset((void *) object, 0, size);
  461|  56.5k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIiE5TestTEEvPT_:
  453|  56.5k|inline void mem_clear(T *object) noexcept {
  454|  56.5k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  56.5k|    static_assert(std::is_standard_layout_v<T>);
  456|  56.5k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  56.5k|    constexpr size_t size = sizeof(*object);
  458|  56.5k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  56.5k|    memset((void *) object, 0, size);
  461|  56.5k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIjE5TestTEEvPT_:
  453|  56.5k|inline void mem_clear(T *object) noexcept {
  454|  56.5k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  56.5k|    static_assert(std::is_standard_layout_v<T>);
  456|  56.5k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  56.5k|    constexpr size_t size = sizeof(*object);
  458|  56.5k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  56.5k|    memset((void *) object, 0, size);
  461|  56.5k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIlE5TestTEEvPT_:
  453|   141k|inline void mem_clear(T *object) noexcept {
  454|   141k|    static_assert(std::is_class_v<T>); // UPX convention
  455|   141k|    static_assert(std::is_standard_layout_v<T>);
  456|   141k|    static_assert(std::is_trivially_copyable_v<T>);
  457|   141k|    constexpr size_t size = sizeof(*object);
  458|   141k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|   141k|    memset((void *) object, 0, size);
  461|   141k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralImE5TestTEEvPT_:
  453|   198k|inline void mem_clear(T *object) noexcept {
  454|   198k|    static_assert(std::is_class_v<T>); // UPX convention
  455|   198k|    static_assert(std::is_standard_layout_v<T>);
  456|   198k|    static_assert(std::is_trivially_copyable_v<T>);
  457|   198k|    constexpr size_t size = sizeof(*object);
  458|   198k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|   198k|    memset((void *) object, 0, size);
  461|   198k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIxE5TestTEEvPT_:
  453|  84.8k|inline void mem_clear(T *object) noexcept {
  454|  84.8k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  84.8k|    static_assert(std::is_standard_layout_v<T>);
  456|  84.8k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  84.8k|    constexpr size_t size = sizeof(*object);
  458|  84.8k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  84.8k|    memset((void *) object, 0, size);
  461|  84.8k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIyE5TestTEEvPT_:
  453|  56.5k|inline void mem_clear(T *object) noexcept {
  454|  56.5k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  56.5k|    static_assert(std::is_standard_layout_v<T>);
  456|  56.5k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  56.5k|    constexpr size_t size = sizeof(*object);
  458|  56.5k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  56.5k|    memset((void *) object, 0, size);
  461|  56.5k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralInE5TestTEEvPT_:
  453|  28.2k|inline void mem_clear(T *object) noexcept {
  454|  28.2k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  456|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  28.2k|    constexpr size_t size = sizeof(*object);
  458|  28.2k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  28.2k|    memset((void *) object, 0, size);
  461|  28.2k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralIoE5TestTEEvPT_:
  453|  28.2k|inline void mem_clear(T *object) noexcept {
  454|  28.2k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  456|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  28.2k|    constexpr size_t size = sizeof(*object);
  458|  28.2k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  28.2k|    memset((void *) object, 0, size);
  461|  28.2k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4LE16E5TestTEEvPT_:
  453|  28.2k|inline void mem_clear(T *object) noexcept {
  454|  28.2k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  456|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  28.2k|    constexpr size_t size = sizeof(*object);
  458|  28.2k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  28.2k|    memset((void *) object, 0, size);
  461|  28.2k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4LE32E5TestTEEvPT_:
  453|  28.2k|inline void mem_clear(T *object) noexcept {
  454|  28.2k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  456|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  28.2k|    constexpr size_t size = sizeof(*object);
  458|  28.2k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  28.2k|    memset((void *) object, 0, size);
  461|  28.2k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4LE64E5TestTEEvPT_:
  453|  28.2k|inline void mem_clear(T *object) noexcept {
  454|  28.2k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  456|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  28.2k|    constexpr size_t size = sizeof(*object);
  458|  28.2k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  28.2k|    memset((void *) object, 0, size);
  461|  28.2k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4BE16E5TestTEEvPT_:
  453|  28.2k|inline void mem_clear(T *object) noexcept {
  454|  28.2k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  456|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  28.2k|    constexpr size_t size = sizeof(*object);
  458|  28.2k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  28.2k|    memset((void *) object, 0, size);
  461|  28.2k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4BE32E5TestTEEvPT_:
  453|  28.2k|inline void mem_clear(T *object) noexcept {
  454|  28.2k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  456|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  28.2k|    constexpr size_t size = sizeof(*object);
  458|  28.2k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  28.2k|    memset((void *) object, 0, size);
  461|  28.2k|}
dt_check.cpp:_Z9mem_clearIN12_GLOBAL__N_113CheckIntegralI4BE64E5TestTEEvPT_:
  453|  28.2k|inline void mem_clear(T *object) noexcept {
  454|  28.2k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  456|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  28.2k|    constexpr size_t size = sizeof(*object);
  458|  28.2k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  28.2k|    memset((void *) object, 0, size);
  461|  28.2k|}
dt_cxxlib.cpp:_Z9mem_clearIZL20DOCTEST_ANON_FUNC_10vE4TestEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolIiLb0EEEEvPT_:
  453|  28.2k|inline void mem_clear(T *object) noexcept {
  454|  28.2k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  456|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  28.2k|    constexpr size_t size = sizeof(*object);
  458|  28.2k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  28.2k|    memset((void *) object, 0, size);
  461|  28.2k|}
_Z9mem_clearIN3upx7TriBoolIaLb0EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolIhLb0EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolIsLb0EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolItLb0EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolIjLb0EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolIxLb0EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolIyLb0EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolIaLb1EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolIhLb1EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolIsLb1EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolItLb1EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolIiLb1EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolIjLb1EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolIxLb1EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearIN3upx7TriBoolIyLb1EEEEvPT_:
  453|  14.1k|inline void mem_clear(T *object) noexcept {
  454|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  456|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  14.1k|    constexpr size_t size = sizeof(*object);
  458|  14.1k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  14.1k|    memset((void *) object, 0, size);
  461|  14.1k|}
_Z9mem_clearI23bzip2_compress_config_tEvPT_:
  453|   155k|inline void mem_clear(T *object) noexcept {
  454|   155k|    static_assert(std::is_class_v<T>); // UPX convention
  455|   155k|    static_assert(std::is_standard_layout_v<T>);
  456|   155k|    static_assert(std::is_trivially_copyable_v<T>);
  457|   155k|    constexpr size_t size = sizeof(*object);
  458|   155k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|   155k|    memset((void *) object, 0, size);
  461|   155k|}
_Z9mem_clearI18_CLzmaDecoderStateEvPT_:
  453|  62.2k|inline void mem_clear(T *object) noexcept {
  454|  62.2k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  62.2k|    static_assert(std::is_standard_layout_v<T>);
  456|  62.2k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  62.2k|    constexpr size_t size = sizeof(*object);
  458|  62.2k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  62.2k|    memset((void *) object, 0, size);
  461|  62.2k|}
_Z9mem_clearI22zlib_compress_config_tEvPT_:
  453|   155k|inline void mem_clear(T *object) noexcept {
  454|   155k|    static_assert(std::is_class_v<T>); // UPX convention
  455|   155k|    static_assert(std::is_standard_layout_v<T>);
  456|   155k|    static_assert(std::is_trivially_copyable_v<T>);
  457|   155k|    constexpr size_t size = sizeof(*object);
  458|   155k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|   155k|    memset((void *) object, 0, size);
  461|   155k|}
_Z9mem_clearI22zstd_compress_config_tEvPT_:
  453|   155k|inline void mem_clear(T *object) noexcept {
  454|   155k|    static_assert(std::is_class_v<T>); // UPX convention
  455|   155k|    static_assert(std::is_standard_layout_v<T>);
  456|   155k|    static_assert(std::is_trivially_copyable_v<T>);
  457|   155k|    constexpr size_t size = sizeof(*object);
  458|   155k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|   155k|    memset((void *) object, 0, size);
  461|   155k|}
filter.cpp:_Z17upx_std_call_onceIZN10FilterImpl9getFilterEiE3$_0EvRmOT_:
  132|  18.7k|inline void upx_std_call_once(upx_std_once_flag &flag, NoexceptCallable &&f) noexcept {
  133|  18.7k|    if (__acc_unlikely(!flag)) {
  ------------------
  |  | 2017|  18.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  ------------------
  |  |  |  Branch (2017:33): [True: 1, False: 18.7k]
  |  |  ------------------
  ------------------
  134|      1|        flag = 1;
  135|      1|        f();
  136|      1|    }
  137|  18.7k|}
_Z9mem_clearIN6LeFile11le_header_tEEvPT_:
  453|  27.9k|inline void mem_clear(T *object) noexcept {
  454|  27.9k|    static_assert(std::is_class_v<T>); // UPX convention
  455|  27.9k|    static_assert(std::is_standard_layout_v<T>);
  456|  27.9k|    static_assert(std::is_trivially_copyable_v<T>);
  457|  27.9k|    constexpr size_t size = sizeof(*object);
  458|  27.9k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  27.9k|    memset((void *) object, 0, size);
  461|  27.9k|}
_Z9mem_clearI7OptionsEvPT_:
  453|   141k|inline void mem_clear(T *object) noexcept {
  454|   141k|    static_assert(std::is_class_v<T>); // UPX convention
  455|   141k|    static_assert(std::is_standard_layout_v<T>);
  456|   141k|    static_assert(std::is_trivially_copyable_v<T>);
  457|   141k|    constexpr size_t size = sizeof(*object);
  458|   141k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|   141k|    memset((void *) object, 0, size);
  461|   141k|}
_Z9mem_clearI10PackHeaderEvPT_:
  453|  1.23M|inline void mem_clear(T *object) noexcept {
  454|  1.23M|    static_assert(std::is_class_v<T>); // UPX convention
  455|  1.23M|    static_assert(std::is_standard_layout_v<T>);
  456|  1.23M|    static_assert(std::is_trivially_copyable_v<T>);
  457|  1.23M|    constexpr size_t size = sizeof(*object);
  458|  1.23M|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|  1.23M|    memset((void *) object, 0, size);
  461|  1.23M|}
_Z17upx_std_call_onceIRDoFvvEEvRmOT_:
  132|  9.58M|inline void upx_std_call_once(upx_std_once_flag &flag, NoexceptCallable &&f) noexcept {
  133|  9.58M|    if (__acc_unlikely(!flag)) {
  ------------------
  |  | 2017|  9.58M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  ------------------
  |  |  |  Branch (2017:33): [True: 2, False: 9.58M]
  |  |  ------------------
  ------------------
  134|      2|        flag = 1;
  135|      2|        f();
  136|      2|    }
  137|  9.58M|}
_Z9mem_clearIN8UiPacker5StateEEvPT_:
  453|   412k|inline void mem_clear(T *object) noexcept {
  454|   412k|    static_assert(std::is_class_v<T>); // UPX convention
  455|   412k|    static_assert(std::is_standard_layout_v<T>);
  456|   412k|    static_assert(std::is_trivially_copyable_v<T>);
  457|   412k|    constexpr size_t size = sizeof(*object);
  458|   412k|    static_assert(size >= 1 && size <= UPX_RSIZE_MAX_MEM);
  459|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  460|   412k|    memset((void *) object, 0, size);
  461|   412k|}

_ZN9ThrowableC2EPKcib:
   36|  4.28M|Throwable::Throwable(const char *m, int e, bool w) noexcept : super(),
   37|  4.28M|                                                              msg(nullptr),
   38|  4.28M|                                                              err(e),
   39|  4.28M|                                                              is_warning(w) {
   40|  4.28M|    if (m != nullptr) {
  ------------------
  |  Branch (40:9): [True: 4.28M, False: 0]
  ------------------
   41|  4.28M|        msg = ::strdup(m);
  ------------------
  |  |   67|  4.28M|#define strdup upx_safe_strdup_noexcept
  ------------------
   42|  4.28M|        assert_noexcept(msg != nullptr);
  ------------------
  |  |  496|  4.28M|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  8.57M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 4.28M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   43|  4.28M|    }
   44|      0|    NO_fprintf(stderr, "construct exception: %zu %zu %s\n", size_t(stats.counter_current),
   45|  4.28M|               size_t(stats.counter_total), (const char *) msg);
   46|  4.28M|    stats.counter_current += 1;
   47|  4.28M|    stats.counter_total += 1;
   48|  4.28M|}
_ZN9ThrowableD2Ev:
   64|  4.28M|Throwable::~Throwable() noexcept {
   65|  4.28M|    stats.counter_current -= 1;
   66|       |    NO_fprintf(stderr, "destruct exception: %zu %zu %s\n", size_t(stats.counter_current),
   67|  4.28M|               size_t(stats.counter_total), (const char *) msg);
   68|  4.28M|    upx::owner_free(msg);
   69|  4.28M|}
_Z13throwCantPackPKc:
   75|  4.22M|void throwCantPack(const char *msg) {
   76|       |    // UGLY, but makes things easier
   77|  4.22M|    if (opt->cmd == CMD_NONE)
  ------------------
  |  Branch (77:9): [True: 298, False: 4.22M]
  ------------------
   78|    298|        throw CantPackException(msg);
   79|  4.22M|    else if (opt->cmd == CMD_COMPRESS)
  ------------------
  |  Branch (79:14): [True: 0, False: 4.22M]
  ------------------
   80|      0|        throw CantPackException(msg);
   81|  4.22M|    else if (opt->cmd == CMD_FILEINFO)
  ------------------
  |  Branch (81:14): [True: 0, False: 4.22M]
  ------------------
   82|      0|        throw CantPackException(msg);
   83|  4.22M|    else
   84|  4.22M|        throw CantUnpackException(msg);
   85|  4.22M|}
_Z28throwUnknownExecutableFormatPKcb:
   91|     70|void throwUnknownExecutableFormat(const char *msg, bool warn) {
   92|     70|    throw UnknownExecutableFormatException(msg, warn);
   93|     70|}
_Z15throwCantUnpackPKc:
  109|  4.94k|void throwCantUnpack(const char *msg) {
  110|       |    // UGLY, but makes things easier
  111|  4.94k|    throwCantPack(msg);
  112|  4.94k|}
_Z14throwNotPackedPKc:
  114|  2.35k|void throwNotPacked(const char *msg) {
  115|  2.35k|    if (msg == nullptr)
  ------------------
  |  Branch (115:9): [True: 2.35k, False: 0]
  ------------------
  116|  2.35k|        msg = "not packed by UPX";
  117|  2.35k|    throw NotPackedException(msg);
  118|  2.35k|}
_Z18throwChecksumErrorv:
  120|    427|void throwChecksumError() { throw Exception("checksum error"); }
_Z28throwCompressedDataViolationv:
  122|  3.01k|void throwCompressedDataViolation() { throw Exception("compressed data violation"); }
_Z18throwInternalErrorPKc:
  128|  28.3k|void throwInternalError(const char *msg) { throw InternalError(msg); }
_Z16throwIOExceptionPKci:
  138|  14.2k|void throwIOException(const char *msg, int e) { throw IOException(msg, e); }
_Z17throwEOFExceptionPKci:
  140|  14.2k|void throwEOFException(const char *msg, int e) {
  141|  14.2k|    if (msg == nullptr && e == 0)
  ------------------
  |  Branch (141:9): [True: 14.2k, False: 0]
  |  Branch (141:27): [True: 14.2k, False: 0]
  ------------------
  142|  14.2k|        msg = "premature end of file";
  143|  14.2k|    throw EOFException(msg, e);
  144|  14.2k|}
_Z13throwCantPackIcEvPKT_z:
  151|  15.1k|void throwCantPack(const char *format, ...) {
  152|  15.1k|    char msg[1024];
  153|  15.1k|    va_list ap;
  154|  15.1k|    va_start(ap, format);
  155|  15.1k|    upx_safe_vsnprintf_noexcept(msg, sizeof(msg), format, ap);
  156|       |    va_end(ap);
  157|  15.1k|    throwCantPack(msg);
  158|  15.1k|}
_Z15throwCantUnpackIcEvPKT_z:
  161|  1.07k|void throwCantUnpack(const char *format, ...) {
  162|  1.07k|    char msg[1024];
  163|  1.07k|    va_list ap;
  164|  1.07k|    va_start(ap, format);
  165|  1.07k|    upx_safe_vsnprintf_noexcept(msg, sizeof(msg), format, ap);
  166|       |    va_end(ap);
  167|  1.07k|    throwCantUnpack(msg);
  168|  1.07k|}
_Z18throwInternalErrorIcEvPKT_z:
  171|      4|void throwInternalError(const char *format, ...) {
  172|      4|    char msg[1024];
  173|      4|    va_list ap;
  174|      4|    va_start(ap, format);
  175|      4|    upx_safe_vsnprintf_noexcept(msg, sizeof(msg), format, ap);
  176|       |    va_end(ap);
  177|      4|    throwInternalError(msg);
  178|      4|}
_Z12assertFailediPKcS0_iS0_:
  190|  1.58M|void assertFailed(int e, const char *expr, const char *file, int line, const char *func) noexcept {
  191|  1.58M|    if very_unlikely (!e)
  ------------------
  |  |  245|  1.58M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  1.58M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  1.58M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 1.58M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  192|      0|        assertFailed(expr, file, line, func);
  193|  1.58M|}
_Z17throwAssertFailedPKcS0_iS0_:
  195|    114|void throwAssertFailed(const char *expr, const char *file, int line, const char *func) may_throw {
  196|    114|    if (opt->debug.debug_level >= 1) {
  ------------------
  |  Branch (196:9): [True: 0, False: 114]
  ------------------
  197|      0|        throwCantPack("corrupted file; details: %s (%s: %s: %d)", expr, file, func, line);
  198|    114|    } else {
  199|    114|        throwCantPack("corrupted file; try '--debug' for more details");
  200|    114|    }
  201|    114|}
_Z19prettyExceptionNamePKc:
  203|  14.0k|const char *prettyExceptionName(const char *n) noexcept {
  204|  14.0k|    if (n == nullptr)
  ------------------
  |  Branch (204:9): [True: 0, False: 14.0k]
  ------------------
  205|      0|        return "(null)";
  206|  38.8k|    while (*n) {
  ------------------
  |  Branch (206:12): [True: 38.8k, False: 0]
  ------------------
  207|  38.8k|        if (*n >= '0' && *n <= '9') // Linux ABI
  ------------------
  |  Branch (207:13): [True: 38.8k, False: 0]
  |  Branch (207:26): [True: 24.7k, False: 14.0k]
  ------------------
  208|  24.7k|            n++;
  209|  14.0k|        else if (*n == ' ')
  ------------------
  |  Branch (209:18): [True: 0, False: 14.0k]
  ------------------
  210|      0|            n++;
  211|  14.0k|        else if (strncmp(n, "class ", 6) == 0) // Visual C++ (MSVC)
  ------------------
  |  Branch (211:18): [True: 0, False: 14.0k]
  ------------------
  212|      0|            n += 6;
  213|  14.0k|        else
  214|  14.0k|            break;
  215|  38.8k|    }
  216|  14.0k|    return n;
  217|  14.0k|}

_ZNK9Throwable6getMsgEv:
   43|  28.1k|    const char *getMsg() const noexcept { return msg; }
_ZNK9Throwable8getErrnoEv:
   44|  14.0k|    int getErrno() const noexcept { return err; }
_ZNK9Throwable9isWarningEv:
   45|  28.1k|    bool isWarning() const noexcept { return is_warning; }
_ZN9ExceptionC2EPKcib:
   76|  4.25M|    Exception(const char *m = nullptr, int e = 0, bool w = false) noexcept : super(m, e, w) {}
_ZN5ErrorC2EPKci:
   83|  28.3k|    Error(const char *m = nullptr, int e = 0) noexcept : super(m, e) {}
_ZN11IOExceptionC2EPKci:
   99|  28.4k|    IOException(const char *m = nullptr, int e = 0) noexcept : super(m, e) {}
_ZN12EOFExceptionC2EPKci:
  105|  14.2k|    EOFException(const char *m = nullptr, int e = 0) noexcept : super(m, e) {}
_ZN16OverlayExceptionC2EPKcb:
  127|     46|    OverlayException(const char *m = nullptr, bool w = false) noexcept : super(m, 0, w) {}
_ZN17CantPackExceptionC2EPKcb:
  133|    368|    CantPackException(const char *m = nullptr, bool w = false) noexcept : super(m, 0, w) {}
_ZN32UnknownExecutableFormatExceptionC2EPKcb:
  140|     70|        : super(m, w) {}
_ZN19CantUnpackExceptionC2EPKcb:
  158|  4.22M|    CantUnpackException(const char *m = nullptr, bool w = false) noexcept : super(m, 0, w) {}
_ZN18NotPackedExceptionC2EPKc:
  164|  2.35k|    NotPackedException(const char *m = nullptr) noexcept : super(m, true) {}
_ZN13InternalErrorC2EPKc:
  174|  28.3k|    InternalError(const char *m = nullptr) noexcept : super(m, 0) {}

_ZN8FileBase15unlink_noexceptEPKc:
   56|  14.0k|/*static*/ bool FileBase::unlink_noexcept(const char *name) noexcept {
   57|  14.0k|    assert_noexcept(name != nullptr && name[0] != 0);
  ------------------
  |  |  496|  14.0k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.0k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.0k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   58|      0|    bool success = ::unlink(name) == 0;
   59|  14.0k|#if HAVE_CHMOD
   60|  14.0k|    if (!success)
  ------------------
  |  Branch (60:9): [True: 0, False: 14.0k]
  ------------------
   61|      0|        success = (::chmod(name, 0666) == 0 && ::unlink(name) == 0);
  ------------------
  |  Branch (61:20): [True: 0, False: 0]
  |  Branch (61:48): [True: 0, False: 0]
  ------------------
   62|  14.0k|#endif
   63|  14.0k|    return success;
   64|  14.0k|}
_ZN8FileBaseD2Ev:
   75|  56.5k|FileBase::~FileBase() may_throw {
   76|       |#if 0 && defined(__GNUC__) // debug
   77|       |    if (isOpen())
   78|       |        fprintf(stderr, "%s: %s\n", _name, __PRETTY_FUNCTION__);
   79|       |#endif
   80|  56.5k|    if (std::uncaught_exceptions() == 0)
  ------------------
  |  Branch (80:9): [True: 28.4k, False: 28.1k]
  ------------------
   81|  28.4k|        closex(); // may_throw
   82|  28.1k|    else
   83|  28.1k|        close_noexcept(); // currently in exception unwinding, use noexcept variant
   84|  56.5k|}
_ZN8FileBase8do_sopenEv:
   86|  28.2k|bool FileBase::do_sopen() {
   87|  28.2k|    if (_shflags < 0)
  ------------------
  |  Branch (87:9): [True: 28.2k, False: 0]
  ------------------
   88|  28.2k|        _fd = ::open(_name, _flags, _mode);
   89|      0|    else {
   90|       |#if (ACC_OS_DOS32) && defined(__DJGPP__)
   91|       |        _fd = ::open(_name, _flags | _shflags, _mode);
   92|       |#elif (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC) && defined(__MINT__)
   93|       |        _fd = ::open(_name, _flags | (_shflags & O_SHMODE), _mode);
   94|       |#elif defined(SH_DENYRW)
   95|       |        _fd = ::sopen(_name, _flags, _shflags, _mode);
   96|       |#else
   97|      0|        throwInternalError("bad usage of do_sopen()");
   98|      0|#endif
   99|      0|    }
  100|  28.2k|    if (_fd < 0)
  ------------------
  |  Branch (100:9): [True: 0, False: 28.2k]
  ------------------
  101|      0|        return false;
  102|  28.2k|    st.st_size = 0;
  103|  28.2k|    if (::fstat(_fd, &st) != 0)
  ------------------
  |  Branch (103:9): [True: 0, False: 28.2k]
  ------------------
  104|      0|        throwIOException(_name, errno);
  105|  28.2k|    _length = st.st_size;
  106|  28.2k|    return true;
  107|  28.2k|}
_ZN8FileBase14close_noexceptEv:
  109|  84.9k|bool FileBase::close_noexcept() noexcept {
  110|  84.9k|    bool ok = true;
  111|  84.9k|    if (isOpen() && _fd != STDIN_FILENO && _fd != STDOUT_FILENO && _fd != STDERR_FILENO)
  ------------------
  |  Branch (111:9): [True: 28.2k, False: 56.6k]
  |  Branch (111:21): [True: 28.2k, False: 0]
  |  Branch (111:44): [True: 28.2k, False: 0]
  |  Branch (111:68): [True: 28.2k, False: 0]
  ------------------
  112|  28.2k|        if (::close(_fd) == -1)
  ------------------
  |  Branch (112:13): [True: 0, False: 28.2k]
  ------------------
  113|      0|            ok = false;
  114|  84.9k|    _fd = -1;
  115|  84.9k|    _flags = 0;
  116|  84.9k|    _mode = 0;
  117|  84.9k|    _name = nullptr;
  118|  84.9k|    _offset = 0;
  119|  84.9k|    _length = 0;
  120|  84.9k|    return ok;
  121|  84.9k|}
_ZN8FileBase6closexEv:
  123|  56.8k|void FileBase::closex() may_throw {
  124|  56.8k|    if (!close_noexcept())
  ------------------
  |  Branch (124:9): [True: 0, False: 56.8k]
  ------------------
  125|      0|        throwIOException("close failed", errno);
  126|  56.8k|}
_ZN8FileBase4seekExi:
  129|   846k|upx_off_t FileBase::seek(upx_off_t off, int whence) {
  130|   846k|    if (!isOpen())
  ------------------
  |  Branch (130:9): [True: 0, False: 846k]
  ------------------
  131|      0|        throwIOException("bad seek 1");
  132|   846k|    if (!mem_size_valid_bytes(off >= 0 ? off : -off)) // sanity check
  ------------------
  |  Branch (132:9): [True: 305, False: 846k]
  |  Branch (132:31): [True: 816k, False: 30.2k]
  ------------------
  133|    305|        throwIOException("bad seek");
  134|   846k|    if (whence == SEEK_SET) {
  ------------------
  |  Branch (134:9): [True: 815k, False: 30.6k]
  ------------------
  135|   815k|        if (off < 0)
  ------------------
  |  Branch (135:13): [True: 66, False: 815k]
  ------------------
  136|     66|            throwIOException("bad seek 2");
  137|   815k|        off += _offset;
  138|   815k|    } else if (whence == SEEK_END) {
  ------------------
  |  Branch (138:16): [True: 28.6k, False: 1.98k]
  ------------------
  139|  28.6k|        if (off > 0)
  ------------------
  |  Branch (139:13): [True: 0, False: 28.6k]
  ------------------
  140|      0|            throwIOException("bad seek 3");
  141|  28.6k|        off += _offset + _length;
  142|  28.6k|        whence = SEEK_SET;
  143|  28.6k|    } else if (whence == SEEK_CUR) {
  ------------------
  |  Branch (143:16): [True: 1.98k, False: 0]
  ------------------
  144|  1.98k|    } else
  145|      0|        throwInternalError("bad seek: whence");
  146|   846k|    upx_off_t l = ::lseek(_fd, off, whence);
  147|   846k|    if (l < 0)
  ------------------
  |  Branch (147:9): [True: 0, False: 846k]
  ------------------
  148|      0|        throwIOException("seek error", errno);
  149|   846k|    return l - _offset;
  150|   846k|}
_ZNK8FileBase4tellEv:
  152|    438|upx_off_t FileBase::tell() const {
  153|    438|    if (!isOpen())
  ------------------
  |  Branch (153:9): [True: 0, False: 438]
  ------------------
  154|      0|        throwIOException("bad tell");
  155|    438|    upx_off_t l = ::lseek(_fd, 0, SEEK_CUR);
  156|    438|    if (l < 0)
  ------------------
  |  Branch (156:9): [True: 0, False: 438]
  ------------------
  157|      0|        throwIOException("tell error", errno);
  158|    438|    return l - _offset;
  159|    438|}
_ZN8FileBase10set_extentExx:
  161|    164|void FileBase::set_extent(upx_off_t offset, upx_off_t length) {
  162|    164|    _offset = offset;
  163|    164|    _length = length;
  164|    164|}
_ZNK8FileBase7st_sizeEv:
  166|   485k|upx_off_t FileBase::st_size() const { return _length; }
_ZN9InputFile5sopenEPKcii:
  172|  14.1k|void InputFile::sopen(const char *name, int flags, int shflags) {
  173|  14.1k|    closex();
  174|  14.1k|    _name = name;
  175|  14.1k|    _flags = flags;
  176|  14.1k|    _shflags = shflags;
  177|  14.1k|    _mode = 0;
  178|  14.1k|    _offset = 0;
  179|  14.1k|    _length = 0;
  180|  14.1k|    if (!super::do_sopen()) {
  ------------------
  |  Branch (180:9): [True: 0, False: 14.1k]
  ------------------
  181|      0|        if (errno == ENOENT)
  ------------------
  |  Branch (181:13): [True: 0, False: 0]
  ------------------
  182|      0|            throw FileNotFoundException(_name, errno);
  183|      0|        else if (errno == EEXIST)
  ------------------
  |  Branch (183:18): [True: 0, False: 0]
  ------------------
  184|      0|            throw FileAlreadyExistsException(_name, errno);
  185|      0|        else
  186|      0|            throwIOException(_name, errno);
  187|      0|    }
  188|  14.1k|    _length_orig = _length;
  189|  14.1k|}
_ZN9InputFile4readEN5XSpan9PtrOrSpanIvEEx:
  191|   541k|int InputFile::read(SPAN_P(void) buf, upx_int64_t blen) {
  192|   541k|    if (!isOpen() || blen < 0)
  ------------------
  |  Branch (192:9): [True: 0, False: 541k]
  |  Branch (192:22): [True: 3, False: 541k]
  ------------------
  193|      3|        throwIOException("bad read");
  194|   541k|    int len = (int) mem_size(1, blen); // sanity check
  195|   541k|    errno = 0;
  196|   541k|    long l = acc_safe_hread(_fd, raw_bytes(buf, len), len);
  197|   541k|    if (errno)
  ------------------
  |  Branch (197:9): [True: 0, False: 541k]
  ------------------
  198|      0|        throwIOException("read error", errno);
  199|   541k|    return (int) l;
  200|   541k|}
_ZN9InputFile5readxEN5XSpan9PtrOrSpanIvEEx:
  202|   532k|int InputFile::readx(SPAN_P(void) buf, upx_int64_t blen) {
  203|   532k|    int l = this->read(buf, blen);
  204|   532k|    if (l != blen)
  ------------------
  |  Branch (204:9): [True: 14.2k, False: 518k]
  ------------------
  205|  14.2k|        throwEOFException();
  206|   518k|    return l;
  207|   532k|}
_ZN9InputFile4seekExi:
  209|   845k|upx_off_t InputFile::seek(upx_off_t off, int whence) {
  210|   845k|    upx_off_t pos = super::seek(off, whence);
  211|   845k|    if (_length < pos)
  ------------------
  |  Branch (211:9): [True: 13.8k, False: 831k]
  ------------------
  212|  13.8k|        throwIOException("bad seek 4");
  213|   831k|    return pos;
  214|   845k|}
_ZNK9InputFile12st_size_origEv:
  216|    389|upx_off_t InputFile::st_size_orig() const { return _length_orig; }
_ZN10OutputFile5sopenEPKciii:
  236|  14.1k|void OutputFile::sopen(const char *name, int flags, int shflags, int mode) {
  237|  14.1k|    closex();
  238|  14.1k|    _name = name;
  239|  14.1k|    _flags = flags;
  240|  14.1k|    _shflags = shflags;
  241|  14.1k|    _mode = mode;
  242|  14.1k|    _offset = 0;
  243|  14.1k|    _length = 0;
  244|  14.1k|    if (!super::do_sopen()) {
  ------------------
  |  Branch (244:9): [True: 0, False: 14.1k]
  ------------------
  245|       |#if 0
  246|       |        // don't throw FileNotFound here -- this is confusing
  247|       |        if (errno == ENOENT)
  248|       |            throw FileNotFoundException(_name,errno);
  249|       |        else
  250|       |#endif
  251|      0|        if (errno == EEXIST)
  ------------------
  |  Branch (251:13): [True: 0, False: 0]
  ------------------
  252|      0|            throw FileAlreadyExistsException(_name, errno);
  253|      0|        else
  254|      0|            throwIOException(_name, errno);
  255|      0|    }
  256|  14.1k|}
_ZN10OutputFile5writeEN5XSpan15PtrOrSpanOrNullIKvEEx:
  275|  23.6k|void OutputFile::write(SPAN_0(const void) buf, upx_int64_t blen) {
  276|  23.6k|    if (!isOpen() || blen < 0)
  ------------------
  |  Branch (276:9): [True: 0, False: 23.6k]
  |  Branch (276:22): [True: 0, False: 23.6k]
  ------------------
  277|      0|        throwIOException("bad write");
  278|       |    // allow nullptr if blen == 0
  279|  23.6k|    if (blen == 0)
  ------------------
  |  Branch (279:9): [True: 3, False: 23.5k]
  ------------------
  280|      3|        return;
  281|  23.5k|    int len = (int) mem_size(1, blen); // sanity check
  282|  23.5k|    errno = 0;
  283|  23.5k|#if WITH_XSPAN >= 2
  284|  23.5k|    NO_fprintf(stderr, "write %p %zd (%p) %d\n", buf.raw_ptr(), buf.raw_size_in_bytes(),
  285|  23.5k|               buf.raw_base(), len);
  286|  23.5k|#endif
  287|  23.5k|    long l = acc_safe_hwrite(_fd, raw_bytes(buf, len), len);
  288|  23.5k|    if (l != len)
  ------------------
  |  Branch (288:9): [True: 0, False: 23.5k]
  ------------------
  289|      0|        throwIOException("write error", errno);
  290|  23.5k|    bytes_written += len;
  291|       |#if TESTING && 0
  292|       |    static upx_std_atomic(bool) dumping;
  293|       |    if (!dumping) {
  294|       |        dumping = true;
  295|       |        char fn[64];
  296|       |        static int part = 0;
  297|       |        snprintf(fn, sizeof(fn), "upx-dump-%04d.data", part++);
  298|       |        OutputFile::dump(fn, buf, len);
  299|       |        dumping = false;
  300|       |    }
  301|       |#endif
  302|  23.5k|}
_ZN10OutputFile7rewriteEN5XSpan9PtrOrSpanIKvEEi:
  315|    125|void OutputFile::rewrite(SPAN_P(const void) buf, int len) {
  316|    125|    assert(!opt->to_stdout);
  ------------------
  |  |  493|    125|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|    250|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 125, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  317|      0|    write(buf, len);
  318|    125|    bytes_written -= len; // restore
  319|    125|}
_ZN10OutputFile4seekExi:
  321|  1.16k|upx_off_t OutputFile::seek(upx_off_t off, int whence) {
  322|  1.16k|    if (!mem_size_valid_bytes(off >= 0 ? off : -off)) // sanity check
  ------------------
  |  Branch (322:9): [True: 0, False: 1.16k]
  |  Branch (322:31): [True: 1.16k, False: 0]
  ------------------
  323|      0|        throwIOException("bad seek");
  324|  1.16k|    assert(!opt->to_stdout);
  ------------------
  |  |  493|  1.16k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  2.33k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 1.16k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  325|      0|    switch (whence) {
  ------------------
  |  Branch (325:13): [True: 1.16k, False: 0]
  ------------------
  326|  1.16k|    case SEEK_SET:
  ------------------
  |  Branch (326:5): [True: 1.16k, False: 0]
  ------------------
  327|  1.16k|        if (bytes_written < off)
  ------------------
  |  Branch (327:13): [True: 189, False: 976]
  ------------------
  328|    189|            bytes_written = off;
  329|  1.16k|        _length = bytes_written; // cheap, lazy update; needed?
  330|  1.16k|        break;
  331|      0|    case SEEK_END:
  ------------------
  |  Branch (331:5): [True: 0, False: 1.16k]
  ------------------
  332|      0|        _length = bytes_written; // necessary
  333|      0|        break;
  334|  1.16k|    }
  335|  1.16k|    return super::seek(off, whence);
  336|  1.16k|}
_ZN10OutputFile10set_extentExx:
  348|     20|void OutputFile::set_extent(upx_off_t offset, upx_off_t length) {
  349|     20|    super::set_extent(offset, length);
  350|     20|    bytes_written = 0;
  351|     20|    if (0 == offset && 0xffffffffLL == length) { // TODO: check all callers of this method
  ------------------
  |  Branch (351:9): [True: 0, False: 20]
  |  Branch (351:24): [True: 0, False: 0]
  ------------------
  352|      0|        st.st_size = 0;
  353|      0|        if (::fstat(_fd, &st) != 0)
  ------------------
  |  Branch (353:13): [True: 0, False: 0]
  ------------------
  354|      0|            throwIOException(_name, errno);
  355|      0|        _length = st.st_size - offset;
  356|      0|    }
  357|     20|}
_ZN10OutputFile12unset_extentEv:
  359|     20|upx_off_t OutputFile::unset_extent() {
  360|     20|    upx_off_t l = ::lseek(_fd, 0, SEEK_END);
  361|     20|    if (l < 0)
  ------------------
  |  Branch (361:9): [True: 0, False: 20]
  ------------------
  362|      0|        throwIOException("lseek error", errno);
  363|     20|    _offset = 0;
  364|     20|    _length = l;
  365|     20|    bytes_written = _length;
  366|     20|    return _length;
  367|     20|}
file.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
  383|  14.1k|TEST_CASE("file") {
  384|  14.1k|    InputFile fi;
  385|  14.1k|    CHECK(!fi.isOpen());
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  386|  14.1k|    CHECK(fi.getFd() == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  387|  14.1k|    CHECK(fi.st_size() == 0);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  388|  14.1k|    OutputFile fo;
  389|  14.1k|    CHECK(!fo.isOpen());
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  390|  14.1k|    CHECK(fo.getFd() == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  391|  14.1k|    CHECK(fo.getBytesWritten() == 0);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  392|  14.1k|}

_ZNK8FileBase6isOpenEv:
   42|  1.52M|    bool isOpen() const noexcept { return _fd >= 0; }
_ZNK8FileBase5getFdEv:
   43|  28.3k|    int getFd() const noexcept { return _fd; }
_ZNK8FileBase7getNameEv:
   44|    410|    const char *getName() const noexcept { return _name; }
_ZNK10OutputFile15getBytesWrittenEv:
  119|  14.3k|    upx_off_t getBytesWritten() const { return bytes_written; }
_ZN10OutputFileC2Ev:
  105|  28.2k|    explicit OutputFile() noexcept = default;
_ZN8FileBaseC2Ev:
   36|  56.5k|    explicit FileBase() noexcept = default;
_ZN9InputFileC2Ev:
   80|  28.2k|    explicit InputFile() noexcept = default;

_ZN10FilterImpl9getFilterEi:
   47|  18.7k|/*static*/ const FilterImpl::FilterEntry *FilterImpl::getFilter(int id) {
   48|  18.7k|    static upx_uint8_t filter_map[256];
   49|  18.7k|    static upx_std_once_flag init_done;
   50|       |
   51|  18.7k|    upx_std_call_once(init_done, []() noexcept {
   52|       |        // init the filter_map[] (using a lambda function)
   53|  18.7k|        assert_noexcept(n_filters <= 254); // as 0xff means "empty slot"
   54|  18.7k|        memset(filter_map, 0xff, sizeof(filter_map));
   55|  18.7k|        for (int i = 0; i < n_filters; i++) {
   56|  18.7k|            int filter_id = filters[i].id;
   57|  18.7k|            assert_noexcept(filter_id >= 0 && filter_id <= 255);
   58|  18.7k|            assert_noexcept(filter_map[filter_id] == 0xff);
   59|  18.7k|            filter_map[filter_id] = (upx_uint8_t) i;
   60|  18.7k|        }
   61|  18.7k|    });
   62|       |
   63|  18.7k|    if (id < 0 || id > 255)
  ------------------
  |  Branch (63:9): [True: 0, False: 18.7k]
  |  Branch (63:19): [True: 0, False: 18.7k]
  ------------------
   64|      0|        return nullptr;
   65|  18.7k|    unsigned index = filter_map[id];
   66|  18.7k|    if (index == 0xff) // empty slot
  ------------------
  |  |  340|  18.7k|#define index    upx_renamed_index
  ------------------
  |  Branch (66:9): [True: 6, False: 18.7k]
  ------------------
   67|      6|        return nullptr;
   68|  18.7k|    assert_noexcept(filters[index].id == id);
  ------------------
  |  |  496|  18.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  37.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 18.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   69|  18.7k|    return &filters[index];
  ------------------
  |  |  340|  18.7k|#define index    upx_renamed_index
  ------------------
   70|  18.7k|}
_ZN6FilterC2Ei:
   94|  18.7k|Filter::Filter(int level) noexcept : clevel(level) { init(); }
_ZN6Filter4initEij:
   96|  37.4k|void Filter::init(int id_, unsigned addvalue_) noexcept {
   97|  37.4k|    this->id = id_;
   98|  37.4k|    initFilter(this, nullptr, 0);
   99|       |    // clear input parameters
  100|  37.4k|    this->addvalue = addvalue_;
  101|  37.4k|    this->preferred_ctos = nullptr;
  102|       |    // clear input/output parameters
  103|  37.4k|    this->cto = 0;
  104|  37.4k|    this->n_mru = 0;
  105|  37.4k|}
_ZN6Filter8unfilterEN5XSpan15PtrOrSpanOrNullIhEEjb:
  139|  18.7k|void Filter::unfilter(SPAN_0(byte) xbuf, unsigned buf_len_, bool verify_checksum) {
  140|  18.7k|    byte *const buf_ = raw_bytes(xbuf, buf_len_);
  141|  18.7k|    initFilter(this, buf_, buf_len_);
  142|       |
  143|  18.7k|    const FilterImpl::FilterEntry *const fe = FilterImpl::getFilter(id);
  144|  18.7k|    if (fe == nullptr)
  ------------------
  |  Branch (144:9): [True: 6, False: 18.7k]
  ------------------
  145|      6|        throwInternalError("unfilter-1");
  146|  18.7k|    if (fe->id == 0)
  ------------------
  |  Branch (146:9): [True: 0, False: 18.7k]
  ------------------
  147|      0|        return;
  148|  18.7k|    if (buf_len < fe->min_buf_len)
  ------------------
  |  Branch (148:9): [True: 0, False: 18.7k]
  ------------------
  149|      0|        return;
  150|  18.7k|    if (fe->max_buf_len && buf_len > fe->max_buf_len)
  ------------------
  |  Branch (150:9): [True: 5.32k, False: 13.3k]
  |  Branch (150:28): [True: 0, False: 5.32k]
  ------------------
  151|      0|        return;
  152|  18.7k|    if (!fe->do_unfilter)
  ------------------
  |  Branch (152:9): [True: 0, False: 18.7k]
  ------------------
  153|      0|        throwInternalError("unfilter-2");
  154|       |
  155|  18.7k|    NO_printf("unfilter: %02x %p %d\n", this->id, this->buf, this->buf_len);
  156|  18.7k|    int r = (*fe->do_unfilter)(this);
  157|  18.7k|    NO_printf("unfilter: %02x %d\n", fe->id, r);
  158|  18.7k|    if (r != 0)
  ------------------
  |  Branch (158:9): [True: 0, False: 18.7k]
  ------------------
  159|      0|        throwInternalError("unfilter-3");
  160|       |    // OutputFile::dump("unfilter.dat", buf, buf_len);
  161|       |
  162|       |    // verify checksum
  163|  18.7k|    if (verify_checksum && clevel != 1) {
  ------------------
  |  Branch (163:9): [True: 0, False: 18.7k]
  |  Branch (163:28): [True: 0, False: 0]
  ------------------
  164|      0|        if (this->adler != upx_adler32(this->buf, this->buf_len))
  ------------------
  |  Branch (164:13): [True: 0, False: 0]
  ------------------
  165|      0|            throwInternalError("unfilter-4");
  166|      0|    }
  167|  18.7k|}
filter.cpp:_ZL10initFilterP6FilterPhj:
   36|  56.1k|static void initFilter(Filter *f, byte *buf, unsigned buf_len) noexcept {
   37|  56.1k|    f->buf = buf;
   38|  56.1k|    f->buf_len = buf_len;
   39|       |    // clear output parameters
   40|  56.1k|    f->calls = f->wrongcalls = f->noncalls = f->firstcall = f->lastcall = 0;
   41|  56.1k|}
filter.cpp:_ZZN10FilterImpl9getFilterEiENK3$_0clEv:
   51|      1|    upx_std_call_once(init_done, []() noexcept {
   52|       |        // init the filter_map[] (using a lambda function)
   53|      1|        assert_noexcept(n_filters <= 254); // as 0xff means "empty slot"
  ------------------
  |  |  496|      1|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      2|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   54|      0|        memset(filter_map, 0xff, sizeof(filter_map));
   55|     61|        for (int i = 0; i < n_filters; i++) {
  ------------------
  |  Branch (55:25): [True: 60, False: 1]
  ------------------
   56|     60|            int filter_id = filters[i].id;
   57|     60|            assert_noexcept(filter_id >= 0 && filter_id <= 255);
  ------------------
  |  |  496|     60|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|    120|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 60, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 60, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 60, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   58|     60|            assert_noexcept(filter_map[filter_id] == 0xff);
  ------------------
  |  |  496|     60|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|    120|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 60, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   59|      0|            filter_map[filter_id] = (upx_uint8_t) i;
   60|     60|        }
   61|      1|    });

filter_impl.cpp:_ZL8get_ileni:
   88|  3.89M|{
   89|  3.89M|    int ilen = 2;
   90|  3.89M|    if (3 == (3& (w >>0))) {
  ------------------
  |  Branch (90:9): [True: 1.17M, False: 2.72M]
  ------------------
   91|  1.17M|        ilen += 2;
   92|  1.17M|        if (3 == (3& (w >>2))) {
  ------------------
  |  Branch (92:13): [True: 264k, False: 906k]
  ------------------
   93|   264k|            ilen += 2;
   94|       |            // NYI: 8 bytes or longer
   95|   264k|        }
   96|  1.17M|    }
   97|  3.89M|    return ilen;
   98|  3.89M|}
filter_impl.cpp:_ZL10u_auipc_leP6Filter:
  196|     45|static int U(Filter *f) {
  197|     45|    byte *b = f->buf;
  198|     45|    const int size = f->buf_len -8;
  199|       |
  200|     45|    int ic;
  201|     45|    int calls = 0, noncalls = 0;
  202|     45|    int lastcall = 0;
  203|       |
  204|     45|    int ilen;
  205|  4.11M|    for (ic = 0; ic <= size; ic += ilen) {
  ------------------
  |  Branch (205:18): [True: 4.11M, False: 45]
  ------------------
  206|  4.11M|        int word1 = get_le32(  ic+b);
  207|  4.11M|        if (!COND(word1)) { // not interesting at all
  ------------------
  |  |   77|  4.11M|#define COND(word1) (AUIPC==opf(word1))
  |  |  ------------------
  |  |  |  |   71|  4.11M|#define AUIPC 0x17
  |  |  ------------------
  |  |               #define COND(word1) (AUIPC==opf(word1))
  |  |  ------------------
  |  |  |  |   72|  4.11M|#define opf(w) (0x7f& (w))
  |  |  ------------------
  ------------------
  |  Branch (207:13): [True: 3.89M, False: 217k]
  ------------------
  208|  3.89M|            ilen = get_ilen(word1);
  209|  3.89M|            continue;  // advance to next instr
  210|  3.89M|        }
  211|   217k|        int word2 = get_le32(4+ic+b);
  212|   217k|        int r_aui = 037& (word2 >> 7);
  213|   217k|        if (CONDu(word2, r_aui)) {
  ------------------
  |  |  190|   217k|#define CONDu(word2, r_aui) ( r_aui==rs1u(word2) && ( \
  |  |  ------------------
  |  |  |  |  188|   434k|#define   rs1u(i_type) (037& ((i_type) >>27))
  |  |  ------------------
  |  |  |  Branch (190:31): [True: 157k, False: 59.8k]
  |  |  ------------------
  |  |  191|   157k|         0x03==opu(word2) /*FETCH*/ \
  |  |  ------------------
  |  |  |  |  186|   157k|#define opu(w) opf((w) >>12)
  |  |  |  |  ------------------
  |  |  |  |  |  |   72|   315k|#define opf(w) (0x7f& (w))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (191:10): [True: 20.7k, False: 136k]
  |  |  ------------------
  |  |  192|   157k|     || (0x67==opu(word2) && 0==func3u(word2)) /*JALR*/ \
  |  |  ------------------
  |  |  |  |  186|   136k|#define opu(w) opf((w) >>12)
  |  |  |  |  ------------------
  |  |  |  |  |  |   72|   273k|#define opf(w) (0x7f& (w))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                    || (0x67==opu(word2) && 0==func3u(word2)) /*JALR*/ \
  |  |  ------------------
  |  |  |  |  187|  36.3k|#define func3u(i_type) (  7& ((i_type) >>24))
  |  |  ------------------
  |  |  |  Branch (192:10): [True: 36.3k, False: 100k]
  |  |  |  Branch (192:30): [True: 18.8k, False: 17.4k]
  |  |  ------------------
  |  |  193|   157k|     || (0x13==opu(word2) && 0==func3u(word2)) /*ADDI*/ \
  |  |  ------------------
  |  |  |  |  186|   117k|#define opu(w) opf((w) >>12)
  |  |  |  |  ------------------
  |  |  |  |  |  |   72|   235k|#define opf(w) (0x7f& (w))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                    || (0x13==opu(word2) && 0==func3u(word2)) /*ADDI*/ \
  |  |  ------------------
  |  |  |  |  187|  35.1k|#define func3u(i_type) (  7& ((i_type) >>24))
  |  |  ------------------
  |  |  |  Branch (193:10): [True: 35.1k, False: 82.8k]
  |  |  |  Branch (193:30): [True: 14.3k, False: 20.7k]
  |  |  ------------------
  |  |  194|   157k|    ) )
  ------------------
  214|  54.0k|            lastcall = ic;
  215|  54.0k|            ++calls;
  216|  54.0k|        }
  217|   163k|        else {
  218|   163k|            ++noncalls;
  219|   163k|        }
  220|       |
  221|   217k|        int addr = get_be32(1+ic+b);  // Note BIG_ENDIAN fetch at 1-byte offset
  222|   217k|        addr = (~0xff & addr) | ((0x7f& addr) <<1) | (1& (word1 >>7));
  223|   217k|        addr -= ic;
  224|   217k|        addr += ((1u <<11)& addr) <<1;  // 12-bit imm is sign-extended
  225|       |
  226|   217k|        set_le32(0+ic+b, (~0xfff& addr) | (r_aui <<7) | AUIPC);
  ------------------
  |  |   71|   217k|#define AUIPC 0x17
  ------------------
  227|   217k|        set_le32(4+ic+b,    (addr <<20) | ((unsigned)word2 >>12));
  228|   217k|        ilen = 4;  // resume scanning after AUIPC
  229|       |
  230|   217k|        if (0) { // DEBUG
  ------------------
  |  Branch (230:13): [Folded, False: 217k]
  ------------------
  231|      0|            char line[100];
  232|      0|            int len = snprintf(line, sizeof(line), "%#6x  %#8.8x %#8.8x  %#8.8x %#8.8x\n",
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
  233|      0|                ic, get_le32(0+ic+b), get_le32(4+ic+b), word1, word2);
  234|      0|            if (len != write(8, line, len)) {
  ------------------
  |  Branch (234:17): [True: 0, False: 0]
  ------------------
  235|      0|                exit(8);
  236|      0|            }
  237|      0|        }
  238|   217k|    }
  239|       |
  240|     45|    f->calls = calls;
  241|     45|    f->noncalls = noncalls;
  242|     45|    f->lastcall = lastcall;
  243|       |
  244|       |#if 0 || defined(TESTING)
  245|       |    printf("\ncalls=%d  noncalls=%d  text_size=%#x\n",calls,noncalls,size);
  246|       |#endif
  247|     45|    return 0;
  248|     45|}

filter_impl.cpp:_ZL9u_ct16_e8P6Filter:
   59|     41|static int u_ct16_e8(Filter *f) { CT16(f, (*b == 0xe8), 0 - a - f->addvalue, get_le16, set_le16) }
  ------------------
  |  |   33|     41|    byte *b = f->buf;                                                                              \
  |  |   34|     41|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  5.16M|    do {                                                                                           \
  |  |   36|  5.16M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 390k, False: 4.77M]
  |  |  ------------------
  |  |   37|   390k|            b += 1;                                                                                \
  |  |   38|   390k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   390k|            f->lastcall = a;                                                                       \
  |  |   40|   390k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   390k|            f->calls++;                                                                            \
  |  |   42|   390k|            b += 2 - 1;                                                                            \
  |  |   43|   390k|        }                                                                                          \
  |  |   44|  5.16M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 5.16M, False: 41]
  |  |  ------------------
  |  |   45|     41|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 27, False: 14]
  |  |  ------------------
  |  |   46|     41|        f->lastcall += 2;                                                                          \
  |  |   47|     41|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_ct16_e9P6Filter:
   61|     29|static int u_ct16_e9(Filter *f) { CT16(f, (*b == 0xe9), 0 - a - f->addvalue, get_le16, set_le16) }
  ------------------
  |  |   33|     29|    byte *b = f->buf;                                                                              \
  |  |   34|     29|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  4.50M|    do {                                                                                           \
  |  |   36|  4.50M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 471k, False: 4.03M]
  |  |  ------------------
  |  |   37|   471k|            b += 1;                                                                                \
  |  |   38|   471k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   471k|            f->lastcall = a;                                                                       \
  |  |   40|   471k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   471k|            f->calls++;                                                                            \
  |  |   42|   471k|            b += 2 - 1;                                                                            \
  |  |   43|   471k|        }                                                                                          \
  |  |   44|  4.50M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 4.50M, False: 29]
  |  |  ------------------
  |  |   45|     29|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 18, False: 11]
  |  |  ------------------
  |  |   46|     29|        f->lastcall += 2;                                                                          \
  |  |   47|     29|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_ct16_e8e9P6Filter:
   63|     71|static int u_ct16_e8e9(Filter *f) {
   64|     71|    CT16(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le16, set_le16)
  ------------------
  |  |   33|     71|    byte *b = f->buf;                                                                              \
  |  |   34|     71|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  6.51M|    do {                                                                                           \
  |  |   36|  19.3M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 155k, False: 6.35M]
  |  |  |  Branch (36:13): [True: 438k, False: 5.92M]
  |  |  ------------------
  |  |   37|   593k|            b += 1;                                                                                \
  |  |   38|   593k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   593k|            f->lastcall = a;                                                                       \
  |  |   40|   593k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   593k|            f->calls++;                                                                            \
  |  |   42|   593k|            b += 2 - 1;                                                                            \
  |  |   43|   593k|        }                                                                                          \
  |  |   44|  6.51M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 6.51M, False: 71]
  |  |  ------------------
  |  |   45|     71|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 35, False: 36]
  |  |  ------------------
  |  |   46|     71|        f->lastcall += 2;                                                                          \
  |  |   47|     71|    return 0;
  ------------------
   65|     71|}
filter_impl.cpp:_ZL18u_ct16_e8_bswap_leP6Filter:
   90|    269|static int u_ct16_e8_bswap_le(Filter *f) {
   91|    269|    CT16(f, (*b == 0xe8), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|    269|    byte *b = f->buf;                                                                              \
  |  |   34|    269|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.59M|    do {                                                                                           \
  |  |   36|  3.59M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 328k, False: 3.26M]
  |  |  ------------------
  |  |   37|   328k|            b += 1;                                                                                \
  |  |   38|   328k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   328k|            f->lastcall = a;                                                                       \
  |  |   40|   328k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   328k|            f->calls++;                                                                            \
  |  |   42|   328k|            b += 2 - 1;                                                                            \
  |  |   43|   328k|        }                                                                                          \
  |  |   44|  3.59M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 3.59M, False: 269]
  |  |  ------------------
  |  |   45|    269|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 26, False: 243]
  |  |  ------------------
  |  |   46|    269|        f->lastcall += 2;                                                                          \
  |  |   47|    269|    return 0;
  ------------------
   92|    269|}
filter_impl.cpp:_ZL18u_ct16_e9_bswap_leP6Filter:
   94|    166|static int u_ct16_e9_bswap_le(Filter *f) {
   95|    166|    CT16(f, (*b == 0xe9), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|    166|    byte *b = f->buf;                                                                              \
  |  |   34|    166|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  5.73M|    do {                                                                                           \
  |  |   36|  5.73M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 504k, False: 5.23M]
  |  |  ------------------
  |  |   37|   504k|            b += 1;                                                                                \
  |  |   38|   504k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   504k|            f->lastcall = a;                                                                       \
  |  |   40|   504k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   504k|            f->calls++;                                                                            \
  |  |   42|   504k|            b += 2 - 1;                                                                            \
  |  |   43|   504k|        }                                                                                          \
  |  |   44|  5.73M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 5.73M, False: 166]
  |  |  ------------------
  |  |   45|    166|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 18, False: 148]
  |  |  ------------------
  |  |   46|    166|        f->lastcall += 2;                                                                          \
  |  |   47|    166|    return 0;
  ------------------
   96|    166|}
filter_impl.cpp:_ZL20u_ct16_e8e9_bswap_leP6Filter:
   98|  1.20k|static int u_ct16_e8e9_bswap_le(Filter *f) {
   99|  1.20k|    CT16(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|  1.20k|    byte *b = f->buf;                                                                              \
  |  |   34|  1.20k|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  5.35M|    do {                                                                                           \
  |  |   36|  15.8M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 203k, False: 5.14M]
  |  |  |  Branch (36:13): [True: 449k, False: 4.70M]
  |  |  ------------------
  |  |   37|   652k|            b += 1;                                                                                \
  |  |   38|   652k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   652k|            f->lastcall = a;                                                                       \
  |  |   40|   652k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   652k|            f->calls++;                                                                            \
  |  |   42|   652k|            b += 2 - 1;                                                                            \
  |  |   43|   652k|        }                                                                                          \
  |  |   44|  5.35M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 5.35M, False: 1.20k]
  |  |  ------------------
  |  |   45|  1.20k|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 30, False: 1.17k]
  |  |  ------------------
  |  |   46|  1.20k|        f->lastcall += 2;                                                                          \
  |  |   47|  1.20k|    return 0;
  ------------------
  100|  1.20k|}
filter_impl.cpp:_ZL18u_ct16_e8_bswap_beP6Filter:
  129|     44|static int u_ct16_e8_bswap_be(Filter *f) {
  130|     44|    CT16(f, (*b == 0xe8), 0 - a - f->addvalue, get_le16, set_be16)
  ------------------
  |  |   33|     44|    byte *b = f->buf;                                                                              \
  |  |   34|     44|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.41M|    do {                                                                                           \
  |  |   36|  3.41M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 379k, False: 3.03M]
  |  |  ------------------
  |  |   37|   379k|            b += 1;                                                                                \
  |  |   38|   379k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   379k|            f->lastcall = a;                                                                       \
  |  |   40|   379k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   379k|            f->calls++;                                                                            \
  |  |   42|   379k|            b += 2 - 1;                                                                            \
  |  |   43|   379k|        }                                                                                          \
  |  |   44|  3.41M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 3.41M, False: 44]
  |  |  ------------------
  |  |   45|     44|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 27, False: 17]
  |  |  ------------------
  |  |   46|     44|        f->lastcall += 2;                                                                          \
  |  |   47|     44|    return 0;
  ------------------
  131|     44|}
filter_impl.cpp:_ZL18u_ct16_e9_bswap_beP6Filter:
  133|    354|static int u_ct16_e9_bswap_be(Filter *f) {
  134|    354|    CT16(f, (*b == 0xe9), 0 - a - f->addvalue, get_le16, set_be16)
  ------------------
  |  |   33|    354|    byte *b = f->buf;                                                                              \
  |  |   34|    354|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.89M|    do {                                                                                           \
  |  |   36|  3.89M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 329k, False: 3.56M]
  |  |  ------------------
  |  |   37|   329k|            b += 1;                                                                                \
  |  |   38|   329k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   329k|            f->lastcall = a;                                                                       \
  |  |   40|   329k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   329k|            f->calls++;                                                                            \
  |  |   42|   329k|            b += 2 - 1;                                                                            \
  |  |   43|   329k|        }                                                                                          \
  |  |   44|  3.89M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 3.89M, False: 354]
  |  |  ------------------
  |  |   45|    354|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 16, False: 338]
  |  |  ------------------
  |  |   46|    354|        f->lastcall += 2;                                                                          \
  |  |   47|    354|    return 0;
  ------------------
  135|    354|}
filter_impl.cpp:_ZL20u_ct16_e8e9_bswap_beP6Filter:
  137|     35|static int u_ct16_e8e9_bswap_be(Filter *f) {
  138|     35|    CT16(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le16, set_be16)
  ------------------
  |  |   33|     35|    byte *b = f->buf;                                                                              \
  |  |   34|     35|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  5.64M|    do {                                                                                           \
  |  |   36|  16.5M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 330k, False: 5.31M]
  |  |  |  Branch (36:13): [True: 376k, False: 4.93M]
  |  |  ------------------
  |  |   37|   706k|            b += 1;                                                                                \
  |  |   38|   706k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   706k|            f->lastcall = a;                                                                       \
  |  |   40|   706k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   706k|            f->calls++;                                                                            \
  |  |   42|   706k|            b += 2 - 1;                                                                            \
  |  |   43|   706k|        }                                                                                          \
  |  |   44|  5.64M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 5.64M, False: 35]
  |  |  ------------------
  |  |   45|     35|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 33, False: 2]
  |  |  ------------------
  |  |   46|     35|        f->lastcall += 2;                                                                          \
  |  |   47|     35|    return 0;
  ------------------
  139|     35|}
filter_impl.cpp:_ZL9u_ct32_e8P6Filter:
  187|     30|static int u_ct32_e8(Filter *f) { CT32(f, (*b == 0xe8), 0 - a - f->addvalue, get_le32, set_le32) }
  ------------------
  |  |  161|     30|    byte *b = f->buf;                                                                              \
  |  |  162|     30|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  3.69M|    do {                                                                                           \
  |  |  164|  3.69M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 199k, False: 3.49M]
  |  |  ------------------
  |  |  165|   199k|            b += 1;                                                                                \
  |  |  166|   199k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   199k|            f->lastcall = a;                                                                       \
  |  |  168|   199k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   199k|            f->calls++;                                                                            \
  |  |  170|   199k|            b += 4 - 1;                                                                            \
  |  |  171|   199k|        }                                                                                          \
  |  |  172|  3.69M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 3.69M, False: 30]
  |  |  ------------------
  |  |  173|     30|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 26, False: 4]
  |  |  ------------------
  |  |  174|     30|        f->lastcall += 4;                                                                          \
  |  |  175|     30|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_ct32_e9P6Filter:
  189|    859|static int u_ct32_e9(Filter *f) { CT32(f, (*b == 0xe9), 0 - a - f->addvalue, get_le32, set_le32) }
  ------------------
  |  |  161|    859|    byte *b = f->buf;                                                                              \
  |  |  162|    859|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  3.22M|    do {                                                                                           \
  |  |  164|  3.22M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 199k, False: 3.02M]
  |  |  ------------------
  |  |  165|   199k|            b += 1;                                                                                \
  |  |  166|   199k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   199k|            f->lastcall = a;                                                                       \
  |  |  168|   199k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   199k|            f->calls++;                                                                            \
  |  |  170|   199k|            b += 4 - 1;                                                                            \
  |  |  171|   199k|        }                                                                                          \
  |  |  172|  3.22M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 3.22M, False: 859]
  |  |  ------------------
  |  |  173|    859|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 15, False: 844]
  |  |  ------------------
  |  |  174|    859|        f->lastcall += 4;                                                                          \
  |  |  175|    859|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_ct32_e8e9P6Filter:
  191|     57|static int u_ct32_e8e9(Filter *f) {
  192|     57|    CT32(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le32, set_le32)
  ------------------
  |  |  161|     57|    byte *b = f->buf;                                                                              \
  |  |  162|     57|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  4.43M|    do {                                                                                           \
  |  |  164|  13.1M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 134k, False: 4.29M]
  |  |  |  Branch (164:13): [True: 202k, False: 4.09M]
  |  |  ------------------
  |  |  165|   336k|            b += 1;                                                                                \
  |  |  166|   336k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   336k|            f->lastcall = a;                                                                       \
  |  |  168|   336k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   336k|            f->calls++;                                                                            \
  |  |  170|   336k|            b += 4 - 1;                                                                            \
  |  |  171|   336k|        }                                                                                          \
  |  |  172|  4.43M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 4.43M, False: 57]
  |  |  ------------------
  |  |  173|     57|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 28, False: 29]
  |  |  ------------------
  |  |  174|     57|        f->lastcall += 4;                                                                          \
  |  |  175|     57|    return 0;
  ------------------
  193|     57|}
filter_impl.cpp:_ZL18u_ct32_e8_bswap_leP6Filter:
  218|    547|static int u_ct32_e8_bswap_le(Filter *f) {
  219|    547|    CT32(f, (*b == 0xe8), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |  161|    547|    byte *b = f->buf;                                                                              \
  |  |  162|    547|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  3.11M|    do {                                                                                           \
  |  |  164|  3.11M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 145k, False: 2.97M]
  |  |  ------------------
  |  |  165|   145k|            b += 1;                                                                                \
  |  |  166|   145k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   145k|            f->lastcall = a;                                                                       \
  |  |  168|   145k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   145k|            f->calls++;                                                                            \
  |  |  170|   145k|            b += 4 - 1;                                                                            \
  |  |  171|   145k|        }                                                                                          \
  |  |  172|  3.11M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 3.11M, False: 547]
  |  |  ------------------
  |  |  173|    547|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 482, False: 65]
  |  |  ------------------
  |  |  174|    547|        f->lastcall += 4;                                                                          \
  |  |  175|    547|    return 0;
  ------------------
  220|    547|}
filter_impl.cpp:_ZL18u_ct32_e9_bswap_leP6Filter:
  222|    188|static int u_ct32_e9_bswap_le(Filter *f) {
  223|    188|    CT32(f, (*b == 0xe9), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |  161|    188|    byte *b = f->buf;                                                                              \
  |  |  162|    188|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  3.08M|    do {                                                                                           \
  |  |  164|  3.08M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 204k, False: 2.87M]
  |  |  ------------------
  |  |  165|   204k|            b += 1;                                                                                \
  |  |  166|   204k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   204k|            f->lastcall = a;                                                                       \
  |  |  168|   204k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   204k|            f->calls++;                                                                            \
  |  |  170|   204k|            b += 4 - 1;                                                                            \
  |  |  171|   204k|        }                                                                                          \
  |  |  172|  3.08M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 3.08M, False: 188]
  |  |  ------------------
  |  |  173|    188|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 14, False: 174]
  |  |  ------------------
  |  |  174|    188|        f->lastcall += 4;                                                                          \
  |  |  175|    188|    return 0;
  ------------------
  224|    188|}
filter_impl.cpp:_ZL20u_ct32_e8e9_bswap_leP6Filter:
  226|     70|static int u_ct32_e8e9_bswap_le(Filter *f) {
  227|     70|    CT32(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |  161|     70|    byte *b = f->buf;                                                                              \
  |  |  162|     70|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  3.82M|    do {                                                                                           \
  |  |  164|  11.3M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 145k, False: 3.68M]
  |  |  |  Branch (164:13): [True: 182k, False: 3.49M]
  |  |  ------------------
  |  |  165|   328k|            b += 1;                                                                                \
  |  |  166|   328k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   328k|            f->lastcall = a;                                                                       \
  |  |  168|   328k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   328k|            f->calls++;                                                                            \
  |  |  170|   328k|            b += 4 - 1;                                                                            \
  |  |  171|   328k|        }                                                                                          \
  |  |  172|  3.82M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 3.82M, False: 70]
  |  |  ------------------
  |  |  173|     70|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 31, False: 39]
  |  |  ------------------
  |  |  174|     70|        f->lastcall += 4;                                                                          \
  |  |  175|     70|    return 0;
  ------------------
  228|     70|}
filter_impl.cpp:_ZL18u_ct32_e8_bswap_beP6Filter:
  257|    140|static int u_ct32_e8_bswap_be(Filter *f) {
  258|    140|    CT32(f, (*b == 0xe8), 0 - a - f->addvalue, get_le32, set_be32)
  ------------------
  |  |  161|    140|    byte *b = f->buf;                                                                              \
  |  |  162|    140|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  2.86M|    do {                                                                                           \
  |  |  164|  2.86M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 174k, False: 2.69M]
  |  |  ------------------
  |  |  165|   174k|            b += 1;                                                                                \
  |  |  166|   174k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   174k|            f->lastcall = a;                                                                       \
  |  |  168|   174k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   174k|            f->calls++;                                                                            \
  |  |  170|   174k|            b += 4 - 1;                                                                            \
  |  |  171|   174k|        }                                                                                          \
  |  |  172|  2.86M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 2.86M, False: 140]
  |  |  ------------------
  |  |  173|    140|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 119, False: 21]
  |  |  ------------------
  |  |  174|    140|        f->lastcall += 4;                                                                          \
  |  |  175|    140|    return 0;
  ------------------
  259|    140|}
filter_impl.cpp:_ZL18u_ct32_e9_bswap_beP6Filter:
  261|     28|static int u_ct32_e9_bswap_be(Filter *f) {
  262|     28|    CT32(f, (*b == 0xe9), 0 - a - f->addvalue, get_le32, set_be32)
  ------------------
  |  |  161|     28|    byte *b = f->buf;                                                                              \
  |  |  162|     28|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  3.61M|    do {                                                                                           \
  |  |  164|  3.61M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 218k, False: 3.39M]
  |  |  ------------------
  |  |  165|   218k|            b += 1;                                                                                \
  |  |  166|   218k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   218k|            f->lastcall = a;                                                                       \
  |  |  168|   218k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   218k|            f->calls++;                                                                            \
  |  |  170|   218k|            b += 4 - 1;                                                                            \
  |  |  171|   218k|        }                                                                                          \
  |  |  172|  3.61M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 3.61M, False: 28]
  |  |  ------------------
  |  |  173|     28|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 14, False: 14]
  |  |  ------------------
  |  |  174|     28|        f->lastcall += 4;                                                                          \
  |  |  175|     28|    return 0;
  ------------------
  263|     28|}
filter_impl.cpp:_ZL20u_ct32_e8e9_bswap_beP6Filter:
  265|    746|static int u_ct32_e8e9_bswap_be(Filter *f) {
  266|    746|    CT32(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le32, set_be32)
  ------------------
  |  |  161|    746|    byte *b = f->buf;                                                                              \
  |  |  162|    746|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|   108M|    do {                                                                                           \
  |  |  164|   325M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 197k, False: 108M]
  |  |  |  Branch (164:13): [True: 20.8M, False: 87.3M]
  |  |  ------------------
  |  |  165|  21.0M|            b += 1;                                                                                \
  |  |  166|  21.0M|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|  21.0M|            f->lastcall = a;                                                                       \
  |  |  168|  21.0M|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|  21.0M|            f->calls++;                                                                            \
  |  |  170|  21.0M|            b += 4 - 1;                                                                            \
  |  |  171|  21.0M|        }                                                                                          \
  |  |  172|   108M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 108M, False: 746]
  |  |  ------------------
  |  |  173|    746|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 739, False: 7]
  |  |  ------------------
  |  |  174|    746|        f->lastcall += 4;                                                                          \
  |  |  175|    746|    return 0;
  ------------------
  267|    746|}
filter_impl.cpp:_ZL12u_ct24arm_leP6Filter:
  310|    125|static int u_ct24arm_le(Filter *f) {
  311|    125|    CT24ARM_LE(f, ARMCT_COND_le, 0 - a / 4 - f->addvalue, get_le24, set_le24)
  ------------------
  |  |  289|    125|    byte *b = f->buf;                                                                              \
  |  |  290|    125|    byte *b_end = b + f->buf_len - 4;                                                              \
  |  |  291|  1.83M|    do {                                                                                           \
  |  |  292|  1.83M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (292:13): [True: 182k, False: 1.64M]
  |  |  ------------------
  |  |  293|   182k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  294|   182k|            f->lastcall = a;                                                                       \
  |  |  295|   182k|            set(b, get(b) + (addvalue));                                                           \
  |  |  296|   182k|            f->calls++;                                                                            \
  |  |  297|   182k|        }                                                                                          \
  |  |  298|  1.83M|        b += 4;                                                                                    \
  |  |  299|  1.83M|    } while (b < b_end);                                                                           \
  |  |  ------------------
  |  |  |  Branch (299:14): [True: 1.83M, False: 125]
  |  |  ------------------
  |  |  300|    125|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (300:9): [True: 18, False: 107]
  |  |  ------------------
  |  |  301|    125|        f->lastcall += 4;                                                                          \
  |  |  302|    125|    return 0;
  ------------------
  312|    125|}
filter_impl.cpp:_ZL12u_ct24arm_beP6Filter:
  342|     27|static int u_ct24arm_be(Filter *f) {
  343|     27|    CT24ARM_BE(f, ARMCT_COND_be, 0 - a / 4 - f->addvalue, get_be24, set_be24)
  ------------------
  |  |  321|     27|    byte *b = f->buf;                                                                              \
  |  |  322|     27|    byte *b_end = b + f->buf_len - 4;                                                              \
  |  |  323|  2.47M|    do {                                                                                           \
  |  |  324|  2.47M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (324:13): [True: 148k, False: 2.32M]
  |  |  ------------------
  |  |  325|   148k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  326|   148k|            f->lastcall = a;                                                                       \
  |  |  327|   148k|            set(1 + b, get(1 + b) + (addvalue));                                                   \
  |  |  328|   148k|            f->calls++;                                                                            \
  |  |  329|   148k|        }                                                                                          \
  |  |  330|  2.47M|        b += 4;                                                                                    \
  |  |  331|  2.47M|    } while (b < b_end);                                                                           \
  |  |  ------------------
  |  |  |  Branch (331:14): [True: 2.47M, False: 27]
  |  |  ------------------
  |  |  332|     27|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (332:9): [True: 15, False: 12]
  |  |  ------------------
  |  |  333|     27|        f->lastcall += 4;                                                                          \
  |  |  334|     27|    return 0;
  ------------------
  344|     27|}
filter_impl.cpp:_ZL12u_ct26arm_leP6Filter:
  381|  3.83k|static int u_ct26arm_le(Filter *f) {
  382|  3.83k|    CT26ARM_LE(f, ARMCT_COND, 0 - a / 4 - f->addvalue, get_le26, set_le26)
  ------------------
  |  |  360|  3.83k|    byte *b = f->buf;                                                                              \
  |  |  361|  3.83k|    byte *b_end = b + f->buf_len - 4;                                                              \
  |  |  362|  4.56M|    do {                                                                                           \
  |  |  363|  4.56M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (363:13): [True: 358k, False: 4.20M]
  |  |  ------------------
  |  |  364|   358k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  365|   358k|            f->lastcall = a;                                                                       \
  |  |  366|   358k|            set(b, get(b) + (addvalue));                                                           \
  |  |  367|   358k|            f->calls++;                                                                            \
  |  |  368|   358k|        }                                                                                          \
  |  |  369|  4.56M|        b += 4;                                                                                    \
  |  |  370|  4.56M|    } while (b < b_end);                                                                           \
  |  |  ------------------
  |  |  |  Branch (370:14): [True: 4.56M, False: 3.83k]
  |  |  ------------------
  |  |  371|  3.83k|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (371:9): [True: 3.79k, False: 40]
  |  |  ------------------
  |  |  372|  3.83k|        f->lastcall += 4;                                                                          \
  |  |  373|  3.83k|    return 0;
  ------------------
  383|  3.83k|}

filter_impl.cpp:_ZL19u_cto32_e8_bswap_leP6Filter:
  129|     55|static int U(Filter *f) {
  130|     55|    byte *b = f->buf;
  131|     55|    const unsigned size5 = f->buf_len - 5;
  132|     55|    const unsigned addvalue = f->addvalue;
  133|     55|    const unsigned cto = (unsigned) f->cto << 24;
  134|       |
  135|     55|    unsigned ic, jc;
  136|       |
  137|  8.59M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (137:18): [True: 8.59M, False: 55]
  ------------------
  138|  8.59M|        if (COND(b, ic)) {
  ------------------
  |  |   57|  8.59M|#define COND(b, x) (b[x] == 0xe8)
  |  |  ------------------
  |  |  |  Branch (57:20): [True: 686k, False: 7.90M]
  |  |  ------------------
  ------------------
  139|   686k|            jc = get_be32(b + ic + 1);
  140|   686k|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (140:17): [True: 323k, False: 363k]
  ------------------
  141|   323k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  142|   323k|                f->calls++;
  143|   323k|                ic += 4;
  144|   323k|                f->lastcall = ic + 1;
  145|   323k|            } else
  146|   363k|                f->noncalls++;
  147|   686k|        }
  148|     55|    return 0;
  149|     55|}
filter_impl.cpp:_ZL19u_cto32_e9_bswap_leP6Filter:
  129|    879|static int U(Filter *f) {
  130|    879|    byte *b = f->buf;
  131|    879|    const unsigned size5 = f->buf_len - 5;
  132|    879|    const unsigned addvalue = f->addvalue;
  133|    879|    const unsigned cto = (unsigned) f->cto << 24;
  134|       |
  135|    879|    unsigned ic, jc;
  136|       |
  137|  4.95M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (137:18): [True: 4.95M, False: 879]
  ------------------
  138|  4.95M|        if (COND(b, ic)) {
  ------------------
  |  |   65|  4.95M|#define COND(b, x) (b[x] == 0xe9)
  |  |  ------------------
  |  |  |  Branch (65:20): [True: 683k, False: 4.27M]
  |  |  ------------------
  ------------------
  139|   683k|            jc = get_be32(b + ic + 1);
  140|   683k|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (140:17): [True: 116k, False: 567k]
  ------------------
  141|   116k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  142|   116k|                f->calls++;
  143|   116k|                ic += 4;
  144|   116k|                f->lastcall = ic + 1;
  145|   116k|            } else
  146|   567k|                f->noncalls++;
  147|   683k|        }
  148|    879|    return 0;
  149|    879|}
filter_impl.cpp:_ZL21u_cto32_e8e9_bswap_leP6Filter:
  129|     91|static int U(Filter *f) {
  130|     91|    byte *b = f->buf;
  131|     91|    const unsigned size5 = f->buf_len - 5;
  132|     91|    const unsigned addvalue = f->addvalue;
  133|     91|    const unsigned cto = (unsigned) f->cto << 24;
  134|       |
  135|     91|    unsigned ic, jc;
  136|       |
  137|  33.4M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (137:18): [True: 33.4M, False: 91]
  ------------------
  138|  33.4M|        if (COND(b, ic)) {
  ------------------
  |  |   73|  33.4M|#define COND(b, x) (b[x] == 0xe8 || b[x] == 0xe9)
  |  |  ------------------
  |  |  |  Branch (73:21): [True: 647k, False: 32.8M]
  |  |  |  Branch (73:37): [True: 251k, False: 32.5M]
  |  |  ------------------
  ------------------
  139|   898k|            jc = get_be32(b + ic + 1);
  140|   898k|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (140:17): [True: 644k, False: 254k]
  ------------------
  141|   644k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  142|   644k|                f->calls++;
  143|   644k|                ic += 4;
  144|   644k|                f->lastcall = ic + 1;
  145|   644k|            } else
  146|   254k|                f->noncalls++;
  147|   898k|        }
  148|     91|    return 0;
  149|     91|}

filter_impl.cpp:_ZL22u_ctoj32_e8e9_bswap_leP6Filter:
  128|     85|static int U(Filter *f) {
  129|     85|    byte *b = f->buf;
  130|     85|    const unsigned size5 = f->buf_len - 5;
  131|     85|    const unsigned addvalue = f->addvalue;
  132|     85|    const unsigned cto = (unsigned) f->cto << 24;
  133|       |    //    unsigned lastcall = 0;    // lastcall is not used in COND macro
  134|     85|    unsigned ic, jc;
  135|       |
  136|  31.4M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (136:18): [True: 31.4M, False: 85]
  ------------------
  137|  31.4M|        if (COND(b, ic, lastcall)) {
  ------------------
  |  |   85|  31.4M|#define COND(b, x, lastcall) (b[x] == 0xe8 || b[x] == 0xe9)
  |  |  ------------------
  |  |  |  Branch (85:31): [True: 403k, False: 31.0M]
  |  |  |  Branch (85:47): [True: 257k, False: 30.7M]
  |  |  ------------------
  ------------------
  138|   660k|            jc = get_be32(b + ic + 1);
  139|   660k|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (139:17): [True: 397k, False: 262k]
  ------------------
  140|   397k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  141|   397k|                f->calls++;
  142|   397k|                ic += 4;
  143|   397k|                f->lastcall = ic + 1;
  144|   397k|            } else
  145|   262k|                f->noncalls++;
  146|   660k|        }
  147|     85|    return 0;
  148|     85|}

filter_impl.cpp:_ZL8f80_callPK6Filter:
   45|    106|static unsigned f80_call(Filter const *f) { return (1 + (0x0f & f->id)) % 3; }
filter_impl.cpp:_ZL8f80_jmp1PK6Filter:
   47|    212|static unsigned f80_jmp1(Filter const *f) { return ((1 + (0x0f & f->id)) / 3) % 3; }
filter_impl.cpp:_ZL8f80_jcc2PK6Filter:
   49|    106|static unsigned f80_jcc2(Filter const *f) { return f80_jmp1(f); }
filter_impl.cpp:_ZL10update_mrujiPjRiS0_:
   59|   405k|) {
   60|   405k|    if (0 > --hand) {
  ------------------
  |  Branch (60:9): [True: 14.4k, False: 391k]
  ------------------
   61|  14.4k|        hand = N_MRU - 1;
  ------------------
  |  |   51|  14.4k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
   62|  14.4k|    }
   63|   405k|    const unsigned t = mru[hand]; // entry which will be overwritten by jc
   64|   405k|    if (0 != t) {                 // have seen at least N_MRU destinations
  ------------------
  |  Branch (64:9): [True: 179k, False: 226k]
  ------------------
   65|   179k|        mru[kh] = t;
   66|   226k|    } else { // "cold cache": keep active region contiguous
   67|   226k|        if (0 > --tail) {
  ------------------
  |  Branch (67:13): [True: 7.09k, False: 219k]
  ------------------
   68|  7.09k|            tail = N_MRU - 1;
  ------------------
  |  |   51|  7.09k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
   69|  7.09k|        }
   70|   226k|        const unsigned t2 = mru[tail];
   71|   226k|        mru[tail] = 0;
   72|   226k|        mru[kh] = t2;
   73|   226k|    }
   74|   405k|    mru[hand] = jc;
   75|   405k|}
filter_impl.cpp:_ZL23u_ctojr32_e8e9_bswap_leP6Filter:
  234|    106|static int U(Filter *f) {
  235|    106|    unsigned ic, jc;
  236|       |
  237|    106|    byte *const b = f->buf;
  238|    106|    const unsigned size5 = f->buf_len - 5;
  239|    106|    const unsigned cto = (unsigned) f->cto << 24;
  240|    106|    unsigned lastcall = 0;
  241|    106|    int hand = 0, tail = 0;
  242|    106|    const unsigned f_call = f80_call(f);
  243|    106|    const unsigned f_jmp1 = f80_jmp1(f);
  244|    106|    const unsigned f_jcc2 = f80_jcc2(f);
  245|       |
  246|    106|    unsigned mru[N_MRU];
  247|    106|    memset(&mru[0], 0, sizeof(mru));
  248|       |
  249|  20.6M|    for (ic = 0; ic < size5; ic++) {
  ------------------
  |  Branch (249:18): [True: 20.6M, False: 101]
  ------------------
  250|  20.6M|        int which;
  251|  20.6M|        if (CONDU(which, b, ic, lastcall)) {
  ------------------
  |  |  121|  20.6M|#define CONDU(which, b, x, lastcall) (COND1(which, b, x) || COND2(which, b, lastcall, x, x, (x) -1))
  |  |  ------------------
  |  |  |  |  117|  41.3M|#define COND1(which, b, x)                 (COND_CALL(which, b, x) || COND_JMP(which, b, x))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|  41.3M|#define COND_CALL(which, b, x) ((which = 0), b[x] == 0xe8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:32): [True: 800k, False: 19.8M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |               #define COND1(which, b, x)                 (COND_CALL(which, b, x) || COND_JMP(which, b, x))
  |  |  |  |  ------------------
  |  |  |  |  |  |  114|  19.8M|#define COND_JMP(which, b, x)  ((which = 1), b[x] == 0xe9)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (114:32): [True: 1.27M, False: 18.5M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define CONDU(which, b, x, lastcall) (COND1(which, b, x) || COND2(which, b, lastcall, x, x, (x) -1))
  |  |  ------------------
  |  |  |  |  118|  18.5M|#define COND2(which, b, lastcall, x, y, z) COND_JCC(which, b, lastcall, x, y, z)
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|  18.5M|    ((which = 2), (lastcall != (x) && 0xf == b[y] && 0x80 <= b[z] && b[z] <= 0x8f))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:5): [True: 334k, False: 18.2M]
  |  |  |  |  |  |  |  Branch (116:20): [True: 17.4M, False: 1.13M]
  |  |  |  |  |  |  |  Branch (116:39): [True: 670k, False: 16.7M]
  |  |  |  |  |  |  |  Branch (116:54): [True: 450k, False: 219k]
  |  |  |  |  |  |  |  Branch (116:70): [True: 334k, False: 115k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  252|  2.40M|            unsigned f_on = 0;
  253|  2.40M|            jc = get_be32(b + ic + 1) - cto;
  254|  2.40M|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (254:17): [True: 1.41M, False: 991k]
  ------------------
  255|  1.41M|                if ((0 == which && MRUFLT == f_call) || (1 == which && MRUFLT == f_jmp1) ||
  ------------------
  |  |   43|   567k|#define MRUFLT 2 // mru filter
  ------------------
                              if ((0 == which && MRUFLT == f_call) || (1 == which && MRUFLT == f_jmp1) ||
  ------------------
  |  |   43|   617k|#define MRUFLT 2 // mru filter
  ------------------
  |  Branch (255:22): [True: 567k, False: 846k]
  |  Branch (255:36): [True: 392k, False: 174k]
  |  Branch (255:58): [True: 617k, False: 403k]
  |  Branch (255:72): [True: 415k, False: 202k]
  ------------------
  256|   881k|                    (2 == which && MRUFLT == f_jcc2)) {
  ------------------
  |  |   43|   228k|#define MRUFLT 2 // mru filter
  ------------------
  |  Branch (256:22): [True: 228k, False: 376k]
  |  Branch (256:36): [True: 73.0k, False: 155k]
  ------------------
  257|   881k|                    f_on = 1;
  258|   881k|                    if (1 & jc) { // 1st time at this destination
  ------------------
  |  Branch (258:25): [True: 475k, False: 405k]
  ------------------
  259|   475k|                        jc >>= 1;
  260|   475k|                        if (0 > --hand) {
  ------------------
  |  Branch (260:29): [True: 13.1k, False: 462k]
  ------------------
  261|  13.1k|                            hand = N_MRU - 1;
  ------------------
  |  |   51|  13.1k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  262|  13.1k|                        }
  263|   475k|                        mru[hand] = jc;
  264|   475k|                    } else { // not 1st time at this destination
  265|   405k|                        jc >>= 1;
  266|   405k|                        if (N_MRU <= jc) {
  ------------------
  |  |   51|   405k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  |  Branch (266:29): [True: 5, False: 405k]
  ------------------
  267|      5|                            throwCompressedDataViolation();
  268|      5|                        }
  269|   405k|                        int kh = jc + hand;
  270|   405k|                        if (N_MRU <= kh) {
  ------------------
  |  |   51|   405k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  |  Branch (270:29): [True: 138k, False: 266k]
  ------------------
  271|   138k|                            kh -= N_MRU;
  ------------------
  |  |   51|   138k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  272|   138k|                        }
  273|   405k|                        jc = mru[kh];
  274|   405k|                        update_mru(jc, kh, mru, hand, tail);
  275|   405k|                    }
  276|   881k|                    set_le32(b + ic + 1, jc - ic - 1);
  277|   881k|                } else if ((0 == which && NOFILT != f_call) || (1 == which && NOFILT != f_jmp1) ||
  ------------------
  |  |   41|   174k|#define NOFILT 0 // no filter
  ------------------
                              } else if ((0 == which && NOFILT != f_call) || (1 == which && NOFILT != f_jmp1) ||
  ------------------
  |  |   41|   202k|#define NOFILT 0 // no filter
  ------------------
  |  Branch (277:29): [True: 174k, False: 357k]
  |  Branch (277:43): [True: 80.6k, False: 94.2k]
  |  Branch (277:65): [True: 202k, False: 250k]
  |  Branch (277:79): [True: 138k, False: 63.5k]
  ------------------
  278|   313k|                           (2 == which && NOFILT != f_jcc2)) {
  ------------------
  |  |   41|   155k|#define NOFILT 0 // no filter
  ------------------
  |  Branch (278:29): [True: 155k, False: 157k]
  |  Branch (278:43): [True: 64.5k, False: 91.4k]
  ------------------
  279|   283k|                    f_on = 1;
  280|   283k|                    set_le32(b + ic + 1, jc - ic - 1);
  281|   283k|                }
  282|  1.41M|                if (2 == which && NOFILT != f_jcc2) {
  ------------------
  |  |   41|   228k|#define NOFILT 0 // no filter
  ------------------
  |  Branch (282:21): [True: 228k, False: 1.18M]
  |  Branch (282:35): [True: 137k, False: 91.4k]
  ------------------
  283|       |                    // Unswap prefix and opcode for 6-byte Jcc <disp32>
  284|   137k|                    unsigned char const t = b[ic - 1];
  285|   137k|                    b[ic - 1] = b[ic];
  286|   137k|                    b[ic] = t;
  287|   137k|                }
  288|       |
  289|  1.41M|                if (f_on) {
  ------------------
  |  Branch (289:21): [True: 1.16M, False: 249k]
  ------------------
  290|  1.16M|                    f->calls++;
  291|  1.16M|                    ic += 4;
  292|  1.16M|                    f->lastcall = lastcall = ic + 1;
  293|  1.16M|                }
  294|  1.41M|            } else
  295|   991k|                f->noncalls++;
  296|  2.40M|        }
  297|  20.6M|    }
  298|    101|    return 0;
  299|    106|}

filter_impl.cpp:_ZL22u_ctok32_e8e9_bswap_leP6Filter:
  129|     74|static int U(Filter *f) {
  130|     74|    byte *b = f->buf;
  131|     74|    const unsigned size5 = f->buf_len - 5;
  132|     74|    const unsigned addvalue = f->addvalue;
  133|     74|    const unsigned cto = (unsigned) f->cto << 24;
  134|     74|    const unsigned id = f->id;
  135|     74|    unsigned lastcall = 0;
  136|       |
  137|     74|    unsigned ic, jc;
  138|       |
  139|  55.2M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (139:18): [True: 55.2M, False: 74]
  ------------------
  140|  55.2M|        if (COND(b, ic, lastcall, id)) {
  ------------------
  |  |   99|  55.2M|#define COND(b, x, lc, id) (COND1(b, x) || ((9 <= (0xf & (id))) && COND2(b, x, lc)))
  |  |  ------------------
  |  |  |  |   97|   110M|#define COND1(b, x)        (b[x] == 0xe8 || b[x] == 0xe9)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:29): [True: 1.04M, False: 54.2M]
  |  |  |  |  |  Branch (97:45): [True: 371k, False: 53.8M]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define COND(b, x, lc, id) (COND1(b, x) || ((9 <= (0xf & (id))) && COND2(b, x, lc)))
  |  |  ------------------
  |  |  |  |   98|  53.8M|#define COND2(b, x, lc)    (lc != (x) && 0xf == b[(x) -1] && 0x80 <= b[x] && b[x] <= 0x8f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:29): [True: 53.1M, False: 739k]
  |  |  |  |  |  Branch (98:42): [True: 730k, False: 52.3M]
  |  |  |  |  |  Branch (98:62): [True: 473k, False: 257k]
  |  |  |  |  |  Branch (98:78): [True: 232k, False: 240k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (99:45): [True: 53.8M, False: 0]
  |  |  ------------------
  ------------------
  141|  1.64M|            jc = get_be32(b + ic + 1);
  142|  1.64M|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (142:17): [True: 770k, False: 874k]
  ------------------
  143|   770k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  144|   770k|                f->calls++;
  145|   770k|                ic += 4;
  146|   770k|                f->lastcall = lastcall = ic + 1;
  147|   770k|            } else
  148|   874k|                f->noncalls++;
  149|  1.64M|        }
  150|     74|    return 0;
  151|     74|}

filter_impl.cpp:_ZL14u_ctsw16_e8_e9P6Filter:
   66|    122|static int u_ctsw16_e8_e9(Filter *f) {
   67|    122|    CTSW16(f, (*b == 0xe8), (*b == 0xe9), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|    122|    byte *b = f->buf;                                                                              \
  |  |   34|    122|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  5.31M|    do {                                                                                           \
  |  |   36|  5.31M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 141k, False: 5.17M]
  |  |  ------------------
  |  |   37|   141k|            b += 1;                                                                                \
  |  |   38|   141k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   141k|            f->lastcall = a;                                                                       \
  |  |   40|   141k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   141k|            f->calls++;                                                                            \
  |  |   42|   141k|            b += 2 - 1;                                                                            \
  |  |   43|  5.17M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (43:20): [True: 577k, False: 4.59M]
  |  |  ------------------
  |  |   44|   577k|            b += 1;                                                                                \
  |  |   45|   577k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   46|   577k|            f->lastcall = a;                                                                       \
  |  |   47|   577k|            set(b, get(b));                                                                        \
  |  |   48|   577k|            f->calls++;                                                                            \
  |  |   49|   577k|            b += 2 - 1;                                                                            \
  |  |   50|   577k|        }                                                                                          \
  |  |   51|  5.31M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (51:14): [True: 5.31M, False: 122]
  |  |  ------------------
  |  |   52|    122|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (52:9): [True: 33, False: 89]
  |  |  ------------------
  |  |   53|    122|        f->lastcall += 2;                                                                          \
  |  |   54|    122|    return 0;
  ------------------
   68|    122|}
filter_impl.cpp:_ZL14u_ctsw16_e9_e8P6Filter:
   70|     37|static int u_ctsw16_e9_e8(Filter *f) {
   71|     37|    CTSW16(f, (*b == 0xe9), (*b == 0xe8), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|     37|    byte *b = f->buf;                                                                              \
  |  |   34|     37|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  4.64M|    do {                                                                                           \
  |  |   36|  4.64M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 344k, False: 4.29M]
  |  |  ------------------
  |  |   37|   344k|            b += 1;                                                                                \
  |  |   38|   344k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   344k|            f->lastcall = a;                                                                       \
  |  |   40|   344k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   344k|            f->calls++;                                                                            \
  |  |   42|   344k|            b += 2 - 1;                                                                            \
  |  |   43|  4.29M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (43:20): [True: 220k, False: 4.07M]
  |  |  ------------------
  |  |   44|   220k|            b += 1;                                                                                \
  |  |   45|   220k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   46|   220k|            f->lastcall = a;                                                                       \
  |  |   47|   220k|            set(b, get(b));                                                                        \
  |  |   48|   220k|            f->calls++;                                                                            \
  |  |   49|   220k|            b += 2 - 1;                                                                            \
  |  |   50|   220k|        }                                                                                          \
  |  |   51|  4.64M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (51:14): [True: 4.64M, False: 37]
  |  |  ------------------
  |  |   52|     37|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (52:9): [True: 34, False: 3]
  |  |  ------------------
  |  |   53|     37|        f->lastcall += 2;                                                                          \
  |  |   54|     37|    return 0;
  ------------------
   72|     37|}
filter_impl.cpp:_ZL14u_ctsw32_e8_e9P6Filter:
  123|     34|static int u_ctsw32_e8_e9(Filter *f) {
  124|     34|    CTSW32(f, (*b == 0xe8), (*b == 0xe9), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |   90|     34|    byte *b = f->buf;                                                                              \
  |  |   91|     34|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   92|  4.78M|    do {                                                                                           \
  |  |   93|  4.78M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (93:13): [True: 127k, False: 4.65M]
  |  |  ------------------
  |  |   94|   127k|            b += 1;                                                                                \
  |  |   95|   127k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   96|   127k|            f->lastcall = a;                                                                       \
  |  |   97|   127k|            set(b, get(b) + (addvalue));                                                           \
  |  |   98|   127k|            f->calls++;                                                                            \
  |  |   99|   127k|            b += 4 - 1;                                                                            \
  |  |  100|  4.65M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (100:20): [True: 199k, False: 4.46M]
  |  |  ------------------
  |  |  101|   199k|            b += 1;                                                                                \
  |  |  102|   199k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  103|   199k|            f->lastcall = a;                                                                       \
  |  |  104|   199k|            set(b, get(b));                                                                        \
  |  |  105|   199k|            f->calls++;                                                                            \
  |  |  106|   199k|            b += 4 - 1;                                                                            \
  |  |  107|   199k|        }                                                                                          \
  |  |  108|  4.78M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (108:14): [True: 4.78M, False: 34]
  |  |  ------------------
  |  |  109|     34|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (109:9): [True: 30, False: 4]
  |  |  ------------------
  |  |  110|     34|        f->lastcall += 4;                                                                          \
  |  |  111|     34|    return 0;
  ------------------
  125|     34|}
filter_impl.cpp:_ZL14u_ctsw32_e9_e8P6Filter:
  127|    262|static int u_ctsw32_e9_e8(Filter *f) {
  128|    262|    CTSW32(f, (*b == 0xe9), (*b == 0xe8), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |   90|    262|    byte *b = f->buf;                                                                              \
  |  |   91|    262|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   92|  3.52M|    do {                                                                                           \
  |  |   93|  3.52M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (93:13): [True: 180k, False: 3.33M]
  |  |  ------------------
  |  |   94|   180k|            b += 1;                                                                                \
  |  |   95|   180k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   96|   180k|            f->lastcall = a;                                                                       \
  |  |   97|   180k|            set(b, get(b) + (addvalue));                                                           \
  |  |   98|   180k|            f->calls++;                                                                            \
  |  |   99|   180k|            b += 4 - 1;                                                                            \
  |  |  100|  3.33M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (100:20): [True: 154k, False: 3.18M]
  |  |  ------------------
  |  |  101|   154k|            b += 1;                                                                                \
  |  |  102|   154k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  103|   154k|            f->lastcall = a;                                                                       \
  |  |  104|   154k|            set(b, get(b));                                                                        \
  |  |  105|   154k|            f->calls++;                                                                            \
  |  |  106|   154k|            b += 4 - 1;                                                                            \
  |  |  107|   154k|        }                                                                                          \
  |  |  108|  3.52M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (108:14): [True: 3.52M, False: 262]
  |  |  ------------------
  |  |  109|    262|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (109:9): [True: 33, False: 229]
  |  |  ------------------
  |  |  110|    262|        f->lastcall += 4;                                                                          \
  |  |  111|    262|    return 0;
  ------------------
  129|    262|}

filter_impl.cpp:_ZL8u_ppcbxxP6Filter:
  124|    184|static int U(Filter *f) {
  125|    184|    byte *b = f->buf;
  126|    184|    const unsigned size4 = upx::umin(f->buf_len - 4, 0u - (~0u << (32 - (6 + W_CTO))));
  ------------------
  |  |   36|    184|#define W_CTO 4 /* width of cto; must match stub/ppc_bxx.S */
  ------------------
  127|    184|    const unsigned addvalue = f->addvalue;
  128|       |
  129|    184|    unsigned ic;
  130|       |
  131|  1.29M|    for (ic = 0; ic <= size4; ic += 4)
  ------------------
  |  Branch (131:18): [True: 1.29M, False: 184]
  ------------------
  132|  1.29M|        if (COND(b, ic)) {
  ------------------
  |  |  141|  1.29M|#define COND(b, x) (18 == (get_be32(b + x) >> 26))
  |  |  ------------------
  |  |  |  Branch (141:20): [True: 119k, False: 1.17M]
  |  |  ------------------
  ------------------
  133|   119k|            unsigned const word = get_be32(b + ic);
  134|   119k|            if ((~(~0u << W_CTO) & (word >> (24 + 2 - W_CTO))) == (unsigned) f->cto) {
  ------------------
  |  |   36|   119k|#define W_CTO 4 /* width of cto; must match stub/ppc_bxx.S */
  ------------------
                          if ((~(~0u << W_CTO) & (word >> (24 + 2 - W_CTO))) == (unsigned) f->cto) {
  ------------------
  |  |   36|   119k|#define W_CTO 4 /* width of cto; must match stub/ppc_bxx.S */
  ------------------
  |  Branch (134:17): [True: 103k, False: 15.6k]
  ------------------
  135|   103k|                unsigned const jc = word & (~(~0u << (26 - W_CTO)) & (~0u << 2));
  ------------------
  |  |   36|   103k|#define W_CTO 4 /* width of cto; must match stub/ppc_bxx.S */
  ------------------
  136|   103k|                set_be32(b + ic, (0xfc000003 & word) | (0x03fffffc & (jc - ic - addvalue)));
  137|   103k|                f->calls++;
  138|   103k|                f->lastcall = ic;
  139|   103k|            } else {
  140|  15.6k|                f->noncalls++;
  141|  15.6k|            }
  142|   119k|        }
  143|    184|    return 0;
  144|    184|}

filter_impl.cpp:_ZL9u_sub16_1P6Filter:
   52|      8|static int u_sub16_1(Filter *f) { ADD16(f, 1) }
  ------------------
  |  |   35|      8|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|      8|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|      8|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|      8|    int i;                                                                                         \
  |  |  |  |   60|      8|    T d[N];                                                                                        \
  |  |  |  |   61|      8|                                                                                                   \
  |  |  |  |   62|      8|    i = N - 1;                                                                                     \
  |  |  |  |   63|      8|    do                                                                                             \
  |  |  |  |   64|      8|        d[i] = 0;                                                                                  \
  |  |  |  |   65|      8|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 0, False: 8]
  |  |  |  |  ------------------
  |  |  |  |   66|      8|                                                                                                   \
  |  |  |  |   67|      8|    i = N - 1;                                                                                     \
  |  |  |  |   68|   161k|    do {                                                                                           \
  |  |  |  |   69|   161k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   161k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   161k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   161k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 161k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|   161k|            i = N - 1;                                                                             \
  |  |  |  |   74|   161k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 161k, False: 8]
  |  |  |  |  ------------------
  |  |  |  |   75|      8|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|      8|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|      8|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|     16|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 8, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|      8|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub16_2P6Filter:
   54|     27|static int u_sub16_2(Filter *f) { ADD16(f, 2) }
  ------------------
  |  |   35|     27|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|     27|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|     27|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|     27|    int i;                                                                                         \
  |  |  |  |   60|     27|    T d[N];                                                                                        \
  |  |  |  |   61|     27|                                                                                                   \
  |  |  |  |   62|     27|    i = N - 1;                                                                                     \
  |  |  |  |   63|     27|    do                                                                                             \
  |  |  |  |   64|     54|        d[i] = 0;                                                                                  \
  |  |  |  |   65|     54|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 27, False: 27]
  |  |  |  |  ------------------
  |  |  |  |   66|     27|                                                                                                   \
  |  |  |  |   67|     27|    i = N - 1;                                                                                     \
  |  |  |  |   68|   164k|    do {                                                                                           \
  |  |  |  |   69|   164k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   164k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   164k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   164k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 82.2k, False: 82.2k]
  |  |  |  |  ------------------
  |  |  |  |   73|   164k|            i = N - 1;                                                                             \
  |  |  |  |   74|   164k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 164k, False: 27]
  |  |  |  |  ------------------
  |  |  |  |   75|     27|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|     27|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|     27|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|     54|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 27, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|     27|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub16_3P6Filter:
   56|  2.34k|static int u_sub16_3(Filter *f) { ADD16(f, 3) }
  ------------------
  |  |   35|  2.34k|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|  2.34k|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|  2.34k|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|  2.34k|    int i;                                                                                         \
  |  |  |  |   60|  2.34k|    T d[N];                                                                                        \
  |  |  |  |   61|  2.34k|                                                                                                   \
  |  |  |  |   62|  2.34k|    i = N - 1;                                                                                     \
  |  |  |  |   63|  2.34k|    do                                                                                             \
  |  |  |  |   64|  7.03k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  7.03k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 4.68k, False: 2.34k]
  |  |  |  |  ------------------
  |  |  |  |   66|  2.34k|                                                                                                   \
  |  |  |  |   67|  2.34k|    i = N - 1;                                                                                     \
  |  |  |  |   68|   406k|    do {                                                                                           \
  |  |  |  |   69|   406k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   406k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   406k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   406k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 135k, False: 271k]
  |  |  |  |  ------------------
  |  |  |  |   73|   406k|            i = N - 1;                                                                             \
  |  |  |  |   74|   406k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 404k, False: 2.34k]
  |  |  |  |  ------------------
  |  |  |  |   75|  2.34k|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|  2.34k|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|  2.34k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  4.68k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 2.34k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|  2.34k|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub16_4P6Filter:
   58|    151|static int u_sub16_4(Filter *f) { ADD16(f, 4) }
  ------------------
  |  |   35|    151|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|    151|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    151|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    151|    int i;                                                                                         \
  |  |  |  |   60|    151|    T d[N];                                                                                        \
  |  |  |  |   61|    151|                                                                                                   \
  |  |  |  |   62|    151|    i = N - 1;                                                                                     \
  |  |  |  |   63|    151|    do                                                                                             \
  |  |  |  |   64|    604|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    604|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 453, False: 151]
  |  |  |  |  ------------------
  |  |  |  |   66|    151|                                                                                                   \
  |  |  |  |   67|    151|    i = N - 1;                                                                                     \
  |  |  |  |   68|   177k|    do {                                                                                           \
  |  |  |  |   69|   177k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   177k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   177k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   177k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 44.3k, False: 133k]
  |  |  |  |  ------------------
  |  |  |  |   73|   177k|            i = N - 1;                                                                             \
  |  |  |  |   74|   177k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 177k, False: 151]
  |  |  |  |  ------------------
  |  |  |  |   75|    151|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    151|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|    151|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    302|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 151, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    151|    return 0;
  |  |  ------------------
  ------------------

filter_impl.cpp:_ZL9u_sub32_1P6Filter:
   52|     28|static int u_sub32_1(Filter *f) { ADD32(f, 1) }
  ------------------
  |  |   35|     28|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|     28|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|     28|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|     28|    int i;                                                                                         \
  |  |  |  |   60|     28|    T d[N];                                                                                        \
  |  |  |  |   61|     28|                                                                                                   \
  |  |  |  |   62|     28|    i = N - 1;                                                                                     \
  |  |  |  |   63|     28|    do                                                                                             \
  |  |  |  |   64|     28|        d[i] = 0;                                                                                  \
  |  |  |  |   65|     28|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 0, False: 28]
  |  |  |  |  ------------------
  |  |  |  |   66|     28|                                                                                                   \
  |  |  |  |   67|     28|    i = N - 1;                                                                                     \
  |  |  |  |   68|   161k|    do {                                                                                           \
  |  |  |  |   69|   161k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   161k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   161k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   161k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 161k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|   161k|            i = N - 1;                                                                             \
  |  |  |  |   74|   161k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 161k, False: 28]
  |  |  |  |  ------------------
  |  |  |  |   75|     28|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|     28|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|     28|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|     56|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 28, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|     28|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub32_2P6Filter:
   54|    699|static int u_sub32_2(Filter *f) { ADD32(f, 2) }
  ------------------
  |  |   35|    699|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|    699|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    699|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    699|    int i;                                                                                         \
  |  |  |  |   60|    699|    T d[N];                                                                                        \
  |  |  |  |   61|    699|                                                                                                   \
  |  |  |  |   62|    699|    i = N - 1;                                                                                     \
  |  |  |  |   63|    699|    do                                                                                             \
  |  |  |  |   64|  1.39k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  1.39k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 699, False: 699]
  |  |  |  |  ------------------
  |  |  |  |   66|    699|                                                                                                   \
  |  |  |  |   67|    699|    i = N - 1;                                                                                     \
  |  |  |  |   68|  41.9k|    do {                                                                                           \
  |  |  |  |   69|  41.9k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|  41.9k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|  41.9k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|  41.9k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 20.6k, False: 21.2k]
  |  |  |  |  ------------------
  |  |  |  |   73|  41.9k|            i = N - 1;                                                                             \
  |  |  |  |   74|  41.9k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 41.2k, False: 699]
  |  |  |  |  ------------------
  |  |  |  |   75|    699|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    699|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|    699|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  1.39k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 699, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    699|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub32_3P6Filter:
   56|    403|static int u_sub32_3(Filter *f) { ADD32(f, 3) }
  ------------------
  |  |   35|    403|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|    403|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    403|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    403|    int i;                                                                                         \
  |  |  |  |   60|    403|    T d[N];                                                                                        \
  |  |  |  |   61|    403|                                                                                                   \
  |  |  |  |   62|    403|    i = N - 1;                                                                                     \
  |  |  |  |   63|    403|    do                                                                                             \
  |  |  |  |   64|  1.20k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  1.20k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 806, False: 403]
  |  |  |  |  ------------------
  |  |  |  |   66|    403|                                                                                                   \
  |  |  |  |   67|    403|    i = N - 1;                                                                                     \
  |  |  |  |   68|   112k|    do {                                                                                           \
  |  |  |  |   69|   112k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   112k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   112k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   112k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 37.1k, False: 75.1k]
  |  |  |  |  ------------------
  |  |  |  |   73|   112k|            i = N - 1;                                                                             \
  |  |  |  |   74|   112k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 111k, False: 403]
  |  |  |  |  ------------------
  |  |  |  |   75|    403|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    403|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|    403|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    806|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 403, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    403|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub32_4P6Filter:
   58|    980|static int u_sub32_4(Filter *f) { ADD32(f, 4) }
  ------------------
  |  |   35|    980|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|    980|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    980|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    980|    int i;                                                                                         \
  |  |  |  |   60|    980|    T d[N];                                                                                        \
  |  |  |  |   61|    980|                                                                                                   \
  |  |  |  |   62|    980|    i = N - 1;                                                                                     \
  |  |  |  |   63|    980|    do                                                                                             \
  |  |  |  |   64|  3.92k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  3.92k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 2.94k, False: 980]
  |  |  |  |  ------------------
  |  |  |  |   66|    980|                                                                                                   \
  |  |  |  |   67|    980|    i = N - 1;                                                                                     \
  |  |  |  |   68|   132k|    do {                                                                                           \
  |  |  |  |   69|   132k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   132k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   132k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   132k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 32.9k, False: 99.9k]
  |  |  |  |  ------------------
  |  |  |  |   73|   132k|            i = N - 1;                                                                             \
  |  |  |  |   74|   132k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 131k, False: 980]
  |  |  |  |  ------------------
  |  |  |  |   75|    980|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    980|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|    980|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  1.96k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 980, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    980|    return 0;
  |  |  ------------------
  ------------------

filter_impl.cpp:_ZL8u_sub8_1P6Filter:
   52|    956|static int u_sub8_1(Filter *f) { ADD8(f, 1) }
  ------------------
  |  |   35|    956|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|    956|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    956|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    956|    int i;                                                                                         \
  |  |  |  |   60|    956|    T d[N];                                                                                        \
  |  |  |  |   61|    956|                                                                                                   \
  |  |  |  |   62|    956|    i = N - 1;                                                                                     \
  |  |  |  |   63|    956|    do                                                                                             \
  |  |  |  |   64|    956|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    956|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 0, False: 956]
  |  |  |  |  ------------------
  |  |  |  |   66|    956|                                                                                                   \
  |  |  |  |   67|    956|    i = N - 1;                                                                                     \
  |  |  |  |   68|   646k|    do {                                                                                           \
  |  |  |  |   69|   646k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   646k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|   646k|#define get_8(p)        (*(p))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|   646k|        set(b, d[i]);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   646k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|   646k|#define set_8(p, v)     (*(p) = (v))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|   646k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   646k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 646k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|   646k|            i = N - 1;                                                                             \
  |  |  |  |   74|   646k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 646k, False: 956]
  |  |  |  |  ------------------
  |  |  |  |   75|    956|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    956|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|    956|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  1.91k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 956, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    956|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL8u_sub8_2P6Filter:
   54|     76|static int u_sub8_2(Filter *f) { ADD8(f, 2) }
  ------------------
  |  |   35|     76|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|     76|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|     76|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|     76|    int i;                                                                                         \
  |  |  |  |   60|     76|    T d[N];                                                                                        \
  |  |  |  |   61|     76|                                                                                                   \
  |  |  |  |   62|     76|    i = N - 1;                                                                                     \
  |  |  |  |   63|     76|    do                                                                                             \
  |  |  |  |   64|    152|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    152|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 76, False: 76]
  |  |  |  |  ------------------
  |  |  |  |   66|     76|                                                                                                   \
  |  |  |  |   67|     76|    i = N - 1;                                                                                     \
  |  |  |  |   68|   345k|    do {                                                                                           \
  |  |  |  |   69|   345k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   345k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|   345k|#define get_8(p)        (*(p))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|   345k|        set(b, d[i]);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   345k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|   345k|#define set_8(p, v)     (*(p) = (v))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|   345k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   345k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 172k, False: 172k]
  |  |  |  |  ------------------
  |  |  |  |   73|   345k|            i = N - 1;                                                                             \
  |  |  |  |   74|   345k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 345k, False: 76]
  |  |  |  |  ------------------
  |  |  |  |   75|     76|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|     76|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|     76|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    152|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 76, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|     76|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL8u_sub8_3P6Filter:
   56|     70|static int u_sub8_3(Filter *f) { ADD8(f, 3) }
  ------------------
  |  |   35|     70|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|     70|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|     70|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|     70|    int i;                                                                                         \
  |  |  |  |   60|     70|    T d[N];                                                                                        \
  |  |  |  |   61|     70|                                                                                                   \
  |  |  |  |   62|     70|    i = N - 1;                                                                                     \
  |  |  |  |   63|     70|    do                                                                                             \
  |  |  |  |   64|    210|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    210|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 140, False: 70]
  |  |  |  |  ------------------
  |  |  |  |   66|     70|                                                                                                   \
  |  |  |  |   67|     70|    i = N - 1;                                                                                     \
  |  |  |  |   68|   344k|    do {                                                                                           \
  |  |  |  |   69|   344k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   344k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|   344k|#define get_8(p)        (*(p))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|   344k|        set(b, d[i]);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   344k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|   344k|#define set_8(p, v)     (*(p) = (v))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|   344k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   344k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 114k, False: 229k]
  |  |  |  |  ------------------
  |  |  |  |   73|   344k|            i = N - 1;                                                                             \
  |  |  |  |   74|   344k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 343k, False: 70]
  |  |  |  |  ------------------
  |  |  |  |   75|     70|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|     70|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|     70|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    140|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 70, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|     70|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL8u_sub8_4P6Filter:
   58|     79|static int u_sub8_4(Filter *f) { ADD8(f, 4) }
  ------------------
  |  |   35|     79|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|     79|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|     79|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|     79|    int i;                                                                                         \
  |  |  |  |   60|     79|    T d[N];                                                                                        \
  |  |  |  |   61|     79|                                                                                                   \
  |  |  |  |   62|     79|    i = N - 1;                                                                                     \
  |  |  |  |   63|     79|    do                                                                                             \
  |  |  |  |   64|    316|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    316|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 237, False: 79]
  |  |  |  |  ------------------
  |  |  |  |   66|     79|                                                                                                   \
  |  |  |  |   67|     79|    i = N - 1;                                                                                     \
  |  |  |  |   68|   347k|    do {                                                                                           \
  |  |  |  |   69|   347k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   347k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|   347k|#define get_8(p)        (*(p))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|   347k|        set(b, d[i]);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   347k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|   347k|#define set_8(p, v)     (*(p) = (v))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|   347k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   347k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 86.7k, False: 260k]
  |  |  |  |  ------------------
  |  |  |  |   73|   347k|            i = N - 1;                                                                             \
  |  |  |  |   74|   347k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 347k, False: 79]
  |  |  |  |  ------------------
  |  |  |  |   75|     79|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|     79|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|     79|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    158|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 79, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|     79|    return 0;
  |  |  ------------------
  ------------------

filter_impl.cpp:_ZL9u_sw16_e8P6Filter:
   57|    128|static int u_sw16_e8(Filter *f) { SW16(f, (*b == 0xe8), get_be16, set_le16) }
  ------------------
  |  |   33|    128|    byte *b = f->buf;                                                                              \
  |  |   34|    128|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.68M|    do {                                                                                           \
  |  |   36|  3.68M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 425k, False: 3.25M]
  |  |  ------------------
  |  |   37|   425k|            b += 1;                                                                                \
  |  |   38|   425k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   425k|            f->lastcall = a;                                                                       \
  |  |   40|   425k|            set(b, get(b));                                                                        \
  |  |   41|   425k|            f->calls++;                                                                            \
  |  |   42|   425k|            b += 2 - 1;                                                                            \
  |  |   43|   425k|        }                                                                                          \
  |  |   44|  3.68M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 3.68M, False: 128]
  |  |  ------------------
  |  |   45|    128|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 15, False: 113]
  |  |  ------------------
  |  |   46|    128|        f->lastcall += 2;                                                                          \
  |  |   47|    128|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_sw16_e9P6Filter:
   59|    512|static int u_sw16_e9(Filter *f) { SW16(f, (*b == 0xe9), get_be16, set_le16) }
  ------------------
  |  |   33|    512|    byte *b = f->buf;                                                                              \
  |  |   34|    512|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  4.21M|    do {                                                                                           \
  |  |   36|  4.21M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 509k, False: 3.70M]
  |  |  ------------------
  |  |   37|   509k|            b += 1;                                                                                \
  |  |   38|   509k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   509k|            f->lastcall = a;                                                                       \
  |  |   40|   509k|            set(b, get(b));                                                                        \
  |  |   41|   509k|            f->calls++;                                                                            \
  |  |   42|   509k|            b += 2 - 1;                                                                            \
  |  |   43|   509k|        }                                                                                          \
  |  |   44|  4.21M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 4.21M, False: 512]
  |  |  ------------------
  |  |   45|    512|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 16, False: 496]
  |  |  ------------------
  |  |   46|    512|        f->lastcall += 2;                                                                          \
  |  |   47|    512|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_sw16_e8e9P6Filter:
   61|     52|static int u_sw16_e8e9(Filter *f) { SW16(f, (*b == 0xe8 || *b == 0xe9), get_be16, set_le16) }
  ------------------
  |  |   33|     52|    byte *b = f->buf;                                                                              \
  |  |   34|     52|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  5.26M|    do {                                                                                           \
  |  |   36|  15.7M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 76.7k, False: 5.18M]
  |  |  |  Branch (36:13): [True: 660k, False: 4.52M]
  |  |  ------------------
  |  |   37|   736k|            b += 1;                                                                                \
  |  |   38|   736k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   736k|            f->lastcall = a;                                                                       \
  |  |   40|   736k|            set(b, get(b));                                                                        \
  |  |   41|   736k|            f->calls++;                                                                            \
  |  |   42|   736k|            b += 2 - 1;                                                                            \
  |  |   43|   736k|        }                                                                                          \
  |  |   44|  5.26M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 5.26M, False: 52]
  |  |  ------------------
  |  |   45|     52|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 32, False: 20]
  |  |  ------------------
  |  |   46|     52|        f->lastcall += 2;                                                                          \
  |  |   47|     52|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_sw32_e8P6Filter:
  101|    627|static int u_sw32_e8(Filter *f) { SW32(f, (*b == 0xe8), get_be32, set_le32) }
  ------------------
  |  |   77|    627|    byte *b = f->buf;                                                                              \
  |  |   78|    627|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   79|  2.25M|    do {                                                                                           \
  |  |   80|  2.25M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (80:13): [True: 130k, False: 2.12M]
  |  |  ------------------
  |  |   81|   130k|            b += 1;                                                                                \
  |  |   82|   130k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   83|   130k|            f->lastcall = a;                                                                       \
  |  |   84|   130k|            set(b, get(b));                                                                        \
  |  |   85|   130k|            f->calls++;                                                                            \
  |  |   86|   130k|            b += 4 - 1;                                                                            \
  |  |   87|   130k|        }                                                                                          \
  |  |   88|  2.25M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (88:14): [True: 2.25M, False: 627]
  |  |  ------------------
  |  |   89|    627|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (89:9): [True: 616, False: 11]
  |  |  ------------------
  |  |   90|    627|        f->lastcall += 4;                                                                          \
  |  |   91|    627|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_sw32_e9P6Filter:
  103|    687|static int u_sw32_e9(Filter *f) { SW32(f, (*b == 0xe9), get_be32, set_le32) }
  ------------------
  |  |   77|    687|    byte *b = f->buf;                                                                              \
  |  |   78|    687|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   79|  3.98M|    do {                                                                                           \
  |  |   80|  3.98M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (80:13): [True: 239k, False: 3.74M]
  |  |  ------------------
  |  |   81|   239k|            b += 1;                                                                                \
  |  |   82|   239k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   83|   239k|            f->lastcall = a;                                                                       \
  |  |   84|   239k|            set(b, get(b));                                                                        \
  |  |   85|   239k|            f->calls++;                                                                            \
  |  |   86|   239k|            b += 4 - 1;                                                                            \
  |  |   87|   239k|        }                                                                                          \
  |  |   88|  3.98M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (88:14): [True: 3.98M, False: 687]
  |  |  ------------------
  |  |   89|    687|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (89:9): [True: 15, False: 672]
  |  |  ------------------
  |  |   90|    687|        f->lastcall += 4;                                                                          \
  |  |   91|    687|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_sw32_e8e9P6Filter:
  105|     32|static int u_sw32_e8e9(Filter *f) { SW32(f, (*b == 0xe8 || *b == 0xe9), get_be32, set_le32) }
  ------------------
  |  |   77|     32|    byte *b = f->buf;                                                                              \
  |  |   78|     32|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   79|  4.64M|    do {                                                                                           \
  |  |   80|  13.8M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (80:13): [True: 123k, False: 4.52M]
  |  |  |  Branch (80:13): [True: 158k, False: 4.36M]
  |  |  ------------------
  |  |   81|   281k|            b += 1;                                                                                \
  |  |   82|   281k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   83|   281k|            f->lastcall = a;                                                                       \
  |  |   84|   281k|            set(b, get(b));                                                                        \
  |  |   85|   281k|            f->calls++;                                                                            \
  |  |   86|   281k|            b += 4 - 1;                                                                            \
  |  |   87|   281k|        }                                                                                          \
  |  |   88|  4.64M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (88:14): [True: 4.64M, False: 32]
  |  |  ------------------
  |  |   89|     32|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (89:9): [True: 29, False: 3]
  |  |  ------------------
  |  |   90|     32|        f->lastcall += 4;                                                                          \
  |  |   91|     32|    return 0;
  ------------------

_Z11show_headerv:
   84|  14.1k|void show_header() {
   85|  14.1k|    FILE *f = con_term;
   86|  14.1k|    int fg;
   87|       |
   88|  14.1k|    static bool header_done;
   89|  14.1k|    if (header_done)
  ------------------
  |  Branch (89:9): [True: 14.1k, False: 1]
  ------------------
   90|  14.1k|        return;
   91|      1|    header_done = true;
   92|       |
   93|      1|    fg = con_fg(f, FG_GREEN);
  ------------------
  |  |  164|      1|#define con_fg(f, x) 0
  ------------------
   94|       |    // clang-format off
   95|      1|    con_fprintf(f,
  ------------------
  |  |  165|      1|#define con_fprintf  fprintf
  ------------------
   96|      1|                "                       Ultimate Packer for eXecutables\n"
   97|      1|                "                          Copyright (C) 1996 - " UPX_VERSION_YEAR "\n"
   98|      1|#if defined(UPX_VERSION_GITREV)
   99|      1|                "UPX git-%6.6s%c"
  100|       |#else
  101|       |                "UPX %-11s"
  102|       |#endif
  103|      1|                " Markus Oberhumer, Laszlo Molnar & John Reiser  %14s\n\n",
  104|      1|#if defined(UPX_VERSION_GITREV)
  105|      1|                gitrev,
  106|      1|                (sizeof(gitrev)-1 > 6 && gitrev[sizeof(gitrev)-2] == '+') ? '+' : ' ',
  ------------------
  |  Branch (106:18): [True: 0, Folded]
  |  Branch (106:42): [True: 0, Folded]
  ------------------
  107|       |#else
  108|       |                UPX_VERSION_STRING,
  109|       |#endif
  110|      1|                UPX_VERSION_DATE);
  ------------------
  |  |    5|      1|#define UPX_VERSION_DATE     "Mar 6th 2026"
  ------------------
  111|       |    // clang-format on
  112|      1|    fg = con_fg(f, fg);
  ------------------
  |  |  164|      1|#define con_fg(f, x) 0
  ------------------
  113|      1|    UNUSED(fg);
  ------------------
  |  |  249|      1|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|      1|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  114|      1|}

_ZN6LeFileC2EP9InputFile:
   32|  13.9k|LeFile::LeFile(InputFile *f) noexcept : fif(f) {
   33|  13.9k|    COMPILE_TIME_ASSERT(sizeof(le_header_t) == 196)
  ------------------
  |  |  247|  13.9k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  13.9k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   34|  13.9k|    COMPILE_TIME_ASSERT(sizeof(le_object_table_entry_t) == 24)
  ------------------
  |  |  247|  13.9k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  13.9k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   35|  13.9k|    COMPILE_TIME_ASSERT(sizeof(le_pagemap_entry_t) == 4)
  ------------------
  |  |  247|  13.9k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  13.9k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   36|  13.9k|    mem_clear(&ih);
   37|  13.9k|    mem_clear(&oh);
   38|  13.9k|}
_ZN6LeFileD2Ev:
   40|  13.9k|LeFile::~LeFile() noexcept {
   41|  13.9k|    delete[] iobject_table;
   42|  13.9k|    delete[] oobject_table;
   43|  13.9k|    delete[] ifpage_table;
   44|  13.9k|    delete[] ofpage_table;
   45|  13.9k|    delete[] ipm_entries;
   46|  13.9k|    delete[] opm_entries;
   47|  13.9k|    delete[] ires_names;
   48|  13.9k|    delete[] ores_names;
   49|  13.9k|    delete[] ifixups;
   50|  13.9k|    delete[] ofixups;
   51|  13.9k|    delete[] inonres_names;
   52|  13.9k|    delete[] ononres_names;
   53|  13.9k|    delete[] ientries;
   54|  13.9k|    delete[] oentries;
   55|  13.9k|}
_ZN6LeFile15readObjectTableEv:
   61|    270|void LeFile::readObjectTable() {
   62|    270|    soobject_table = objects;
  ------------------
  |  |   57|    270|#define objects ih.object_table_entries
  ------------------
   63|    270|    iobject_table = New(le_object_table_entry_t, soobject_table);
  ------------------
  |  |   90|    270|#define New(type, n) (NewT<type>((n)))
  ------------------
   64|    270|    fif->seek(le_offset + ih.object_table_offset, SEEK_SET);
   65|    270|    fif->readx(iobject_table, sizeof(*iobject_table) * objects);
  ------------------
  |  |   57|    270|#define objects ih.object_table_entries
  ------------------
   66|    270|}
_ZN6LeFile11readPageMapEv:
   73|    212|void LeFile::readPageMap() {
   74|    212|    sopm_entries = pages;
  ------------------
  |  |   58|    212|#define pages   ih.memory_pages
  ------------------
   75|    212|    ipm_entries = New(le_pagemap_entry_t, sopm_entries);
  ------------------
  |  |   90|    212|#define New(type, n) (NewT<type>((n)))
  ------------------
   76|    212|    fif->seek(le_offset + ih.object_pagemap_offset, SEEK_SET);
   77|    212|    fif->readx(ipm_entries, sizeof(*ipm_entries) * pages);
  ------------------
  |  |   58|    212|#define pages   ih.memory_pages
  ------------------
   78|       |
   79|    831|    for (unsigned ic = 0; ic < pages; ic++)
  ------------------
  |  |   58|    831|#define pages   ih.memory_pages
  ------------------
  |  Branch (79:27): [True: 626, False: 205]
  ------------------
   80|    626|        if ((ipm_entries[ic].type & 0xC0) != 0 && (ipm_entries[ic].type & 0xC0) != 0xC0)
  ------------------
  |  Branch (80:13): [True: 266, False: 360]
  |  Branch (80:51): [True: 7, False: 259]
  ------------------
   81|      7|            throwCantPack("unexpected value in page map table");
   82|    212|}
_ZN6LeFile17readResidentNamesEv:
   89|    194|void LeFile::readResidentNames() {
   90|    194|    sores_names = ih.entry_table_offset - ih.resident_names_offset;
   91|    194|    ires_names = New(byte, sores_names);
  ------------------
  |  |   90|    194|#define New(type, n) (NewT<type>((n)))
  ------------------
   92|       |    fif->seek(le_offset + ih.resident_names_offset, SEEK_SET);
   93|    194|    fif->readx(ires_names, sores_names);
   94|    194|}
_ZN6LeFile14readEntryTableEv:
  101|    158|void LeFile::readEntryTable() {
  102|    158|    soentries = ih.fixup_page_table_offset - ih.entry_table_offset;
  103|    158|    fif->seek(le_offset + ih.entry_table_offset, SEEK_SET);
  104|    158|    ientries = New(byte, soentries);
  ------------------
  |  |   90|    158|#define New(type, n) (NewT<type>((n)))
  ------------------
  105|    158|    fif->readx(ientries, soentries);
  106|    158|}
_ZN6LeFile18readFixupPageTableEv:
  113|    123|void LeFile::readFixupPageTable() {
  114|    123|    sofpage_table = 1 + pages;
  ------------------
  |  |   58|    123|#define pages   ih.memory_pages
  ------------------
  115|    123|    ifpage_table = New(unsigned, sofpage_table);
  ------------------
  |  |   90|    123|#define New(type, n) (NewT<type>((n)))
  ------------------
  116|       |    fif->seek(le_offset + ih.fixup_page_table_offset, SEEK_SET);
  117|    123|    fif->readx(ifpage_table, 4 * sofpage_table);
  118|    123|}
_ZN6LeFile10readFixupsEv:
  125|    123|void LeFile::readFixups() {
  126|    123|    sofixups = get_le32(ifpage_table + pages) - get_le32(ifpage_table);
  ------------------
  |  |   58|    123|#define pages   ih.memory_pages
  ------------------
  127|    123|    ifixups = New(byte, sofixups);
  ------------------
  |  |   90|    123|#define New(type, n) (NewT<type>((n)))
  ------------------
  128|       |    fif->seek(le_offset + ih.fixup_record_table_offset, SEEK_SET);
  129|    123|    fif->readx(ifixups, sofixups);
  130|    123|}
_ZNK6LeFile12getImageSizeEv:
  137|    302|unsigned LeFile::getImageSize() const {
  138|    302|    unsigned n = 0;
  139|    302|    if (ih.memory_pages > 0) {
  ------------------
  |  Branch (139:9): [True: 302, False: 0]
  ------------------
  140|    302|        n = (ih.memory_pages - 1) * ih.memory_page_size;
  141|    302|        n += ih.bytes_on_last_page;
  142|    302|    }
  143|    302|    return n;
  144|    302|}
_ZN6LeFile9readImageEv:
  146|     88|void LeFile::readImage() {
  147|     88|    soimage = mem_size(mps, pages); // assert size
  ------------------
  |  |   59|     88|#define mps     ih.memory_page_size
  ------------------
                  soimage = mem_size(mps, pages); // assert size
  ------------------
  |  |   58|     88|#define pages   ih.memory_pages
  ------------------
  148|     88|    if (!soimage)                   // late detection, but protect against .alloc(0)
  ------------------
  |  Branch (148:9): [True: 0, False: 88]
  ------------------
  149|      0|        throwCantPack("no soimage");
  150|     88|    mb_iimage.alloc(soimage);
  151|     88|    mb_iimage.clear();
  152|     88|    iimage = SPAN_S_MAKE(byte, mb_iimage); // => now a SPAN_S
  ------------------
  |  |  210|     88|#define SPAN_S_MAKE     XSPAN_S_MAKE
  |  |  ------------------
  |  |  |  |   97|     88|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     88|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|     88|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     88|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     88|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     88|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     88|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  153|       |
  154|     88|    unsigned ic, jc;
  155|    210|    for (ic = jc = 0; ic < pages; ic++) {
  ------------------
  |  |   58|    210|#define pages   ih.memory_pages
  ------------------
  |  Branch (155:23): [True: 122, False: 88]
  ------------------
  156|    122|        if ((ipm_entries[ic].type & 0xC0) == 0) {
  ------------------
  |  Branch (156:13): [True: 50, False: 72]
  ------------------
  157|     50|            fif->seek(ih.data_pages_offset + exe_offset +
  158|     50|                          (ipm_entries[ic].m * 0x100 + ipm_entries[ic].l - 1) * mps,
  ------------------
  |  |   59|     50|#define mps     ih.memory_page_size
  ------------------
  159|     50|                      SEEK_SET);
  160|     50|            unsigned bytes = ic != pages - 1 ? mps : ih.bytes_on_last_page;
  ------------------
  |  |   58|     50|#define pages   ih.memory_pages
  ------------------
                          unsigned bytes = ic != pages - 1 ? mps : ih.bytes_on_last_page;
  ------------------
  |  |   59|     12|#define mps     ih.memory_page_size
  ------------------
  |  Branch (160:30): [True: 12, False: 38]
  ------------------
  161|     50|            fif->readx(iimage + jc, bytes);
  162|     50|        }
  163|    122|        jc += mps;
  ------------------
  |  |   59|    122|#define mps     ih.memory_page_size
  ------------------
  164|    122|    }
  165|     88|}
_ZN6LeFile20readNonResidentNamesEv:
  172|     79|void LeFile::readNonResidentNames() {
  173|     79|    if (ih.non_resident_name_table_length) {
  ------------------
  |  Branch (173:9): [True: 59, False: 20]
  ------------------
  174|     59|        sononres_names = ih.non_resident_name_table_length;
  175|     59|        inonres_names = New(byte, sononres_names);
  ------------------
  |  |   90|     59|#define New(type, n) (NewT<type>((n)))
  ------------------
  176|       |        fif->seek(exe_offset + ih.non_resident_name_table_offset, SEEK_SET);
  177|     59|        fif->readx(inonres_names, sononres_names);
  178|     59|    }
  179|     79|}
_ZN6LeFile14readFileHeaderEv:
  186|  13.9k|bool LeFile::readFileHeader() {
  187|  13.9k|#define H(x) get_le16(header + (2 * (x)))
  188|  13.9k|    byte header[0x40];
  189|  13.9k|    le_offset = exe_offset = 0;
  190|  13.9k|    int ic;
  191|       |
  192|  15.5k|    for (ic = 0; ic < 20; ic++) {
  ------------------
  |  Branch (192:18): [True: 15.5k, False: 58]
  ------------------
  193|  15.5k|        fif->seek(le_offset, SEEK_SET);
  194|  15.5k|        fif->readx(header, sizeof(header));
  195|       |
  196|  15.5k|        if (memcmp(header, "MZ", 2) == 0) // normal dos exe
  ------------------
  |  Branch (196:13): [True: 1.62k, False: 13.9k]
  ------------------
  197|  1.62k|        {
  198|  1.62k|            exe_offset = le_offset;
  199|  1.62k|            if (H(0x18 / 2) >= 0x40 && memcmp(header + 0x19, "TIPPACH", 7)) // new format exe
  ------------------
  |  |  187|  1.62k|#define H(x) get_le16(header + (2 * (x)))
  ------------------
  |  Branch (199:17): [True: 1.42k, False: 205]
  |  Branch (199:40): [True: 1.38k, False: 36]
  ------------------
  200|  1.38k|                le_offset += H(0x3c / 2) + H(0x3e / 2) * 65536;
  ------------------
  |  |  187|  1.38k|#define H(x) get_le16(header + (2 * (x)))
  ------------------
                              le_offset += H(0x3c / 2) + H(0x3e / 2) * 65536;
  ------------------
  |  |  187|  1.38k|#define H(x) get_le16(header + (2 * (x)))
  ------------------
  201|    241|            else {
  202|    241|                le_offset += H(2) * 512 + H(1);
  ------------------
  |  |  187|    241|#define H(x) get_le16(header + (2 * (x)))
  ------------------
                              le_offset += H(2) * 512 + H(1);
  ------------------
  |  |  187|    241|#define H(x) get_le16(header + (2 * (x)))
  ------------------
  203|    241|                if (H(1))
  ------------------
  |  |  187|    241|#define H(x) get_le16(header + (2 * (x)))
  |  |  ------------------
  |  |  |  Branch (187:14): [True: 158, False: 83]
  |  |  ------------------
  ------------------
  204|    158|                    le_offset -= 512;
  205|     83|                else if (H(2) == 0)
  ------------------
  |  |  187|     83|#define H(x) get_le16(header + (2 * (x)))
  ------------------
  |  Branch (205:26): [True: 38, False: 45]
  ------------------
  206|     38|                    return false;
  207|    241|            }
  208|  13.9k|        } else if (memcmp(header, "BW", 2) == 0) // used in dos4gw.exe
  ------------------
  |  Branch (208:20): [True: 48, False: 13.8k]
  ------------------
  209|     48|            le_offset += H(2) * 512 + H(1);
  ------------------
  |  |  187|     48|#define H(x) get_le16(header + (2 * (x)))
  ------------------
                          le_offset += H(2) * 512 + H(1);
  ------------------
  |  |  187|     48|#define H(x) get_le16(header + (2 * (x)))
  ------------------
  210|  13.8k|        else if (memcmp(header, "LE", 2) == 0)
  ------------------
  |  Branch (210:18): [True: 410, False: 13.4k]
  ------------------
  211|    410|            break; // success
  212|  13.4k|        else if (memcmp(header, "PMW1", 4) == 0)
  ------------------
  |  Branch (212:18): [True: 27, False: 13.4k]
  ------------------
  213|     27|            throwCantPack("already packed with PMWLITE");
  214|  13.4k|        else
  215|  13.4k|            return false;
  216|  15.5k|    }
  217|    468|    if (ic == 20)
  ------------------
  |  Branch (217:9): [True: 58, False: 410]
  ------------------
  218|     58|        return false;
  219|    410|    fif->seek(le_offset, SEEK_SET);
  220|    410|    fif->readx(&ih, sizeof(ih));
  221|    410|    if (mps < 512 || mps > 2097152 || (mps & (mps - 1)) != 0)
  ------------------
  |  |   59|    410|#define mps     ih.memory_page_size
  ------------------
                  if (mps < 512 || mps > 2097152 || (mps & (mps - 1)) != 0)
  ------------------
  |  |   59|    408|#define mps     ih.memory_page_size
  ------------------
                  if (mps < 512 || mps > 2097152 || (mps & (mps - 1)) != 0)
  ------------------
  |  |   59|    368|#define mps     ih.memory_page_size
  ------------------
                  if (mps < 512 || mps > 2097152 || (mps & (mps - 1)) != 0)
  ------------------
  |  |   59|    368|#define mps     ih.memory_page_size
  ------------------
  |  Branch (221:9): [True: 2, False: 408]
  |  Branch (221:22): [True: 40, False: 368]
  |  Branch (221:39): [True: 11, False: 357]
  ------------------
  222|     52|        throwCantPack("LE file header invalid page size %u", (unsigned) mps);
  ------------------
  |  |   59|     52|#define mps     ih.memory_page_size
  ------------------
  223|    358|    if (ih.bytes_on_last_page > mps || pages == 0)
  ------------------
  |  |   59|    716|#define mps     ih.memory_page_size
  ------------------
                  if (ih.bytes_on_last_page > mps || pages == 0)
  ------------------
  |  |   58|    348|#define pages   ih.memory_pages
  ------------------
  |  Branch (223:9): [True: 10, False: 348]
  |  Branch (223:40): [True: 1, False: 347]
  ------------------
  224|     10|        throwCantPack("bad LE file header");
  225|    348|    if (!mem_size_valid(mps, pages) || exe_offset > le_offset)
  ------------------
  |  |   59|    348|#define mps     ih.memory_page_size
  ------------------
                  if (!mem_size_valid(mps, pages) || exe_offset > le_offset)
  ------------------
  |  |   58|    348|#define pages   ih.memory_pages
  ------------------
  |  Branch (225:9): [True: 41, False: 307]
  |  Branch (225:40): [True: 0, False: 307]
  ------------------
  226|     40|        throwCantPack("bad LE file header");
  227|    308|    return true;
  228|    348|#undef H
  229|    348|}

_Z18main_set_exit_codei:
  106|  14.0k|bool main_set_exit_code(int ec) { return set_eec(ec, &exit_code); }
_Z16main_get_optionsiPPc:
  814|   127k|int main_get_options(int argc, char **argv) {
  815|   127k|    constexpr int *N = nullptr;
  816|       |
  817|   127k|    static const struct mfx_option longopts[] = {
  818|       |        // commands
  819|   127k|        {"best", 0x10, N, 900},        // compress best
  820|   127k|        {"brute", 0x10, N, 901},       // compress best, brute force
  821|   127k|        {"ultra-brute", 0x10, N, 902}, // compress best, ultra-brute force
  822|   127k|        {"decompress", 0, N, 'd'},     // decompress
  823|   127k|        {"fast", 0x10, N, '1'},        // compress faster
  824|   127k|        {"fileinfo", 0x10, N, 909},    // display info about file
  825|   127k|        {"file-info", 0x10, N, 909},   // display info about file
  826|   127k|        {"help", 0, N, 'h' + 256},     // give help
  827|   127k|        {"license", 0, N, 'L'},        // display software license
  828|   127k|        {"list", 0, N, 'l'},           // list compressed exe
  829|   127k|        {"sysinfo", 0x90, N, 910},     // display system info // undocumented and subject to change
  830|   127k|        {"sys-info", 0x90, N, 910},    // display system info // undocumented and subject to change
  831|   127k|        {"test", 0, N, 't'},           // test compressed file integrity
  832|   127k|        {"uncompress", 0, N, 'd'},     // decompress
  833|   127k|        {"version", 0, N, 'V' + 256},  // display version number
  834|       |
  835|       |        // options
  836|   127k|        {"force", 0, N, 'f'},              // force overwrite of output files
  837|   127k|        {"force-compress", 0, N, 'f'},     //   and compression of suspicious files
  838|   127k|        {"force-overwrite", 0x90, N, 529}, // force overwrite of output files
  839|   127k|        {"info", 0, N, 'i'},               // info mode
  840|   127k|        {"link", 0x90, N, 530},            // preserve hard link
  841|   127k|        {"no-env", 0x10, N, 519},          // no environment var
  842|   127k|        {"no-link", 0x90, N, 531},         // do not preserve hard link [default]
  843|   127k|        {"no-mode", 0x10, N, 526},         // do not preserve mode (permissions)
  844|   127k|        {"no-owner", 0x10, N, 527},        // do not preserve ownership
  845|   127k|        {"no-progress", 0, N, 516},        // no progress bar
  846|   127k|        {"no-time", 0x10, N, 528},         // do not preserve timestamp
  847|   127k|        {"output", 0x21, N, 'o'},
  848|   127k|        {"quiet", 0, N, 'q'},  // quiet mode
  849|   127k|        {"silent", 0, N, 'q'}, // quiet mode
  850|       |#if 0
  851|       |        // FIXME: to_stdout doesn't work because of console code mess
  852|       |        {"stdout",           0x10, N, 517},     // write output on standard output
  853|       |        {"to-stdout",        0x10, N, 517},     // write output on standard output
  854|       |#endif
  855|   127k|        {"verbose", 0, N, 'v'}, // verbose mode
  856|       |
  857|       |        // debug options
  858|   127k|        {"debug", 0x10, N, 'D'},
  859|   127k|        {"dump-stub-loader", 0x31, N, 544},        // for internal debugging
  860|   127k|        {"fake-stub-version", 0x31, N, 542},       // for internal debugging
  861|   127k|        {"fake-stub-year", 0x31, N, 543},          // for internal debugging
  862|   127k|        {"disable-random-id", 0x90, N, 545},       // for internal debugging
  863|   127k|        {"debug-use-random-method", 0x90, N, 546}, // for internal debugging / fuzz testing
  864|   127k|        {"debug-use-random-filter", 0x90, N, 547}, // for internal debugging / fuzz testing
  865|       |
  866|       |        // backup options
  867|   127k|        {"backup", 0x10, N, 'k'},
  868|   127k|        {"keep", 0x10, N, 'k'},
  869|   127k|        {"no-backup", 0x10, N, 541},
  870|       |
  871|       |        // overlay options
  872|   127k|        {"overlay", 0x31, N, 551}, // --overlay=
  873|   127k|        {"skip-overlay", 0x10, N, 552},
  874|   127k|        {"no-overlay", 0x10, N, 552}, // old name
  875|   127k|        {"copy-overlay", 0x10, N, 553},
  876|   127k|        {"strip-overlay", 0x10, N, 554},
  877|       |
  878|       |        // CPU options
  879|   127k|        {"cpu", 0x31, N, 560}, // --cpu=
  880|   127k|        {"8086", 0x10, N, 561},
  881|   127k|        {"386", 0x10, N, 563},
  882|   127k|        {"486", 0x10, N, 564},
  883|       |
  884|       |        // color options
  885|   127k|        {"no-color", 0x10, N, 512},
  886|   127k|        {"mono", 0x10, N, 513},
  887|   127k|        {"color", 0x10, N, 514},
  888|       |
  889|       |        // compression method
  890|   127k|        {"nrv2b", 0x10, N, 702},   // --nrv2b
  891|   127k|        {"nrv2d", 0x10, N, 704},   // --nrv2d
  892|   127k|        {"nrv2e", 0x10, N, 705},   // --nrv2e
  893|   127k|        {"lzma", 0x10, N, 721},    // --lzma
  894|   127k|        {"no-lzma", 0x10, N, 722}, // disable all_methods_use_lzma
  895|   127k|        {"prefer-nrv", 0x10, N, 723},
  896|   127k|        {"prefer-ucl", 0x10, N, 724},
  897|       |        // compression settings
  898|   127k|        {"all-filters", 0x10, N, 523},
  899|   127k|        {"all-methods", 0x10, N, 524},
  900|   127k|        {"exact", 0x10, N, 525},  // user requires byte-identical decompression
  901|   127k|        {"filter", 0x31, N, 521}, // --filter=
  902|   127k|        {"no-filter", 0x10, N, 522},
  903|   127k|        {"small", 0x10, N, 520},
  904|       |        // CRP - Compression Runtime Parameters (undocumented and subject to change)
  905|   127k|        {"crp-nrv-cf", 0x31, N, 801},
  906|   127k|        {"crp-nrv-sl", 0x31, N, 802},
  907|   127k|        {"crp-nrv-hl", 0x31, N, 803},
  908|   127k|        {"crp-nrv-pl", 0x31, N, 804},
  909|   127k|        {"crp-nrv-mo", 0x31, N, 805},
  910|   127k|        {"crp-nrv-mm", 0x31, N, 806},
  911|   127k|        {"crp-nrv-ms", 0x31, N, 807},
  912|   127k|        {"crp-ucl-cf", 0x31, N, 801},
  913|   127k|        {"crp-ucl-sl", 0x31, N, 802},
  914|   127k|        {"crp-ucl-hl", 0x31, N, 803},
  915|   127k|        {"crp-ucl-pl", 0x31, N, 804},
  916|   127k|        {"crp-ucl-mo", 0x31, N, 805},
  917|   127k|        {"crp-ucl-mm", 0x31, N, 806},
  918|   127k|        {"crp-ucl-ms", 0x31, N, 807},
  919|   127k|        {"crp-lzma-pb", 0x31, N, 811},
  920|   127k|        {"crp-lzma-lp", 0x31, N, 812},
  921|   127k|        {"crp-lzma-lc", 0x31, N, 813},
  922|   127k|        {"crp-lzma-ds", 0x31, N, 814},
  923|   127k|        {"crp-lzma-fb", 0x31, N, 816},
  924|   127k|        {"crp-zlib-ml", 0x31, N, 821},
  925|   127k|        {"crp-zlib-wb", 0x31, N, 822},
  926|   127k|        {"crp-zlib-st", 0x31, N, 823},
  927|       |
  928|       |        // atari/tos
  929|   127k|        {"split-segments", 0x90, N, 650},
  930|       |        // darwin/macho
  931|   127k|        {"force-macos", 0x90, N, 690}, // undocumented temporary option until we do fix macOS 13+
  932|       |        // djgpp2/coff
  933|   127k|        {"coff", 0x90, N, 610}, // produce COFF output
  934|       |        // dos/exe
  935|       |        //{"force-stub", 0x10, N, 600},
  936|   127k|        {"no-reloc", 0x10, N, 601}, // no reloc. record into packer dos/exe
  937|       |        // o_unix
  938|   127k|        {"blocksize", 0x31, N, 660},     // --blocksize=
  939|   127k|        {"force-execve", 0x90, N, 661},  // force linux/386 execve format
  940|   127k|        {"is_ptinterp", 0x10, N, 663},   // linux/elf386 PT_INTERP program
  941|   127k|        {"use_ptinterp", 0x10, N, 664},  // linux/elf386 PT_INTERP program
  942|   127k|        {"make_ptinterp", 0x10, N, 665}, // linux/elf386 PT_INTERP program
  943|   127k|        {"Linux", 0x10, N, 666},
  944|   127k|        {"linux", 0x10, N, 666},
  945|   127k|        {"FreeBSD", 0x10, N, 667},
  946|   127k|        {"freebsd", 0x10, N, 667},
  947|   127k|        {"NetBSD", 0x10, N, 668},
  948|   127k|        {"netbsd", 0x10, N, 668},
  949|   127k|        {"OpenBSD", 0x10, N, 669},
  950|   127k|        {"openbsd", 0x10, N, 669},
  951|   127k|        {"unmap-all-pages", 0x10, N, 674}, // linux /proc/self/exe vanishes
  952|   127k|        {"preserve-build-id", 0, N, 675},
  953|   127k|        {"android-shlib", 0, N, 676},
  954|   127k|        {"force-pie", 0x90, N, 677},
  955|   127k|        {"android-old", 0, N, 678},
  956|   127k|        {"catch-sigsegv", 0, N, 679},
  957|       |        // ps1/exe
  958|   127k|        {"boot-only", 0x90, N, 670},
  959|   127k|        {"no-align", 0x90, N, 671},
  960|   127k|        {"8-bit", 0x90, N, 672},
  961|   127k|        {"8mib-ram", 0x90, N, 673},
  962|   127k|        {"8mb-ram", 0x90, N, 673},
  963|       |        // watcom/le
  964|   127k|        {"le", 0x90, N, 620}, // produce LE output
  965|       |        // win32/pe
  966|   127k|        {"compress-exports", 2, N, 630},
  967|   127k|        {"compress-icons", 2, N, 631},
  968|   127k|        {"compress-resources", 2, N, 632},
  969|   127k|        {"strip-loadconf", 0x12, N, 633}, // OBSOLETE - IGNORED
  970|   127k|        {"strip-relocs", 0x12, N, 634},
  971|   127k|        {"keep-resource", 0x31, N, 635},
  972|       |
  973|   127k|#if !defined(DOCTEST_CONFIG_DISABLE) // accept and ignore some doctest --dt-XXX options
  974|       |        // [doctest] Query flags - the program quits after them. Available:
  975|   127k|        {"dt-c", 0x10, N, 999},
  976|   127k|        {"dt-count", 0x10, N, 999},
  977|   127k|        {"dt-h", 0x10, N, 999},
  978|   127k|        {"dt-help", 0x10, N, 999},
  979|   127k|        {"dt-lr", 0x10, N, 999},
  980|   127k|        {"dt-list-reporters", 0x10, N, 999},
  981|   127k|        {"dt-ltc", 0x10, N, 999},
  982|   127k|        {"dt-list-test-cases", 0x10, N, 999},
  983|   127k|        {"dt-lts", 0x10, N, 999},
  984|   127k|        {"dt-list-test-suites", 0x10, N, 999},
  985|   127k|        {"dt-v", 0x10, N, 999},
  986|   127k|        {"dt-version", 0x10, N, 999},
  987|       |        // [doctest] Bool options - can be used like flags and true is assumed. Available:
  988|   127k|        {"dt-d", 0x12, N, 999},
  989|   127k|        {"dt-duration", 0x12, N, 999},
  990|   127k|        {"dt-e", 0x12, N, 999},
  991|   127k|        {"dt-exit", 0x12, N, 999},
  992|   127k|        {"dt-m", 0x12, N, 999},
  993|   127k|        {"dt-minimal", 0x12, N, 999},
  994|   127k|        {"dt-nt", 0x12, N, 999},
  995|   127k|        {"dt-no-throw", 0x12, N, 999},
  996|   127k|        {"dt-nr", 0x12, N, 999},
  997|   127k|        {"dt-no-run", 0x12, N, 999},
  998|   127k|        {"dt-s", 0x12, N, 999},
  999|   127k|        {"dt-success", 0x12, N, 999},
 1000|   127k|#endif
 1001|       |
 1002|   127k|        {nullptr, 0, nullptr, 0}
 1003|   127k|    };
 1004|       |
 1005|   127k|    int optc, longind;
 1006|   127k|    char shortopts[256];
 1007|       |
 1008|   127k|    prepare_shortopts(shortopts, "123456789hH?V", longopts);
 1009|   127k|    acc_getopt_init(&mfx_getopt, 1, argc, argv);
 1010|   127k|    mfx_getopt.progname = progname;
 1011|   127k|    mfx_getopt.opterr = handle_opterr;
 1012|   410k|    while ((optc = acc_getopt(&mfx_getopt, shortopts, longopts, &longind)) >= 0) {
  ------------------
  |  Branch (1012:12): [True: 282k, False: 127k]
  ------------------
 1013|   282k|        if (do_option(optc, argv[mfx_optind - 1]) != 0)
  ------------------
  |  |   51|   282k|#define mfx_optind mfx_getopt.optind
  ------------------
  |  Branch (1013:13): [True: 0, False: 282k]
  ------------------
 1014|      0|            e_usage();
 1015|   282k|    }
 1016|       |
 1017|   127k|    return mfx_optind;
  ------------------
  |  |   51|   127k|#define mfx_optind mfx_getopt.optind
  ------------------
 1018|   127k|}
_Z19main_get_envoptionsv:
 1020|  14.1k|void main_get_envoptions() {
 1021|  14.1k|#if defined(OPTIONS_VAR)
 1022|  14.1k|    constexpr int *N = nullptr;
 1023|       |
 1024|       |    /* only some options are allowed in the environment variable */
 1025|       |
 1026|  14.1k|    static const struct mfx_option longopts[] = {
 1027|       |        // commands
 1028|  14.1k|        {"best", 0x10, N, 900},        // compress best
 1029|  14.1k|        {"brute", 0x10, N, 901},       // compress best, brute force
 1030|  14.1k|        {"ultra-brute", 0x10, N, 902}, // compress best, ultra-brute force
 1031|  14.1k|        {"fast", 0x10, N, '1'},        // compress faster
 1032|       |
 1033|       |        // options
 1034|  14.1k|        {"info", 0, N, 'i'},        // info mode
 1035|  14.1k|        {"no-progress", 0, N, 516}, // no progress bar
 1036|  14.1k|        {"quiet", 0, N, 'q'},       // quiet mode
 1037|  14.1k|        {"silent", 0, N, 'q'},      // quiet mode
 1038|  14.1k|        {"verbose", 0, N, 'v'},     // verbose mode
 1039|       |
 1040|       |        // debug options
 1041|  14.1k|        {"disable-random-id", 0x90, N, 545}, // for internal debugging
 1042|       |
 1043|       |        // backup options
 1044|  14.1k|        {"backup", 0x10, N, 'k'},
 1045|  14.1k|        {"keep", 0x10, N, 'k'},
 1046|  14.1k|        {"no-backup", 0x10, N, 541},
 1047|       |
 1048|       |        // overlay options
 1049|  14.1k|        {"overlay", 0x31, N, 551}, // --overlay=
 1050|  14.1k|        {"skip-overlay", 0x10, N, 552},
 1051|  14.1k|        {"no-overlay", 0x10, N, 552}, // old name
 1052|  14.1k|        {"copy-overlay", 0x10, N, 553},
 1053|  14.1k|        {"strip-overlay", 0x10, N, 554},
 1054|       |
 1055|       |        // CPU options
 1056|  14.1k|        {"cpu", 0x31, N, 560}, // --cpu=
 1057|  14.1k|        {"8086", 0x10, N, 561},
 1058|  14.1k|        {"386", 0x10, N, 563},
 1059|  14.1k|        {"486", 0x10, N, 564},
 1060|       |
 1061|       |        // color options
 1062|  14.1k|        {"no-color", 0x10, N, 512},
 1063|  14.1k|        {"mono", 0x10, N, 513},
 1064|  14.1k|        {"color", 0x10, N, 514},
 1065|       |
 1066|       |        // compression settings
 1067|  14.1k|        {"exact", 0x10, N, 525}, // user requires byte-identical decompression
 1068|       |
 1069|       |        // compression method
 1070|  14.1k|        {"nrv2b", 0x10, N, 702},   // --nrv2b
 1071|  14.1k|        {"nrv2d", 0x10, N, 704},   // --nrv2d
 1072|  14.1k|        {"nrv2e", 0x10, N, 705},   // --nrv2e
 1073|  14.1k|        {"lzma", 0x10, N, 721},    // --lzma
 1074|  14.1k|        {"no-lzma", 0x10, N, 722}, // disable all_methods_use_lzma
 1075|  14.1k|        {"prefer-nrv", 0x10, N, 723},
 1076|  14.1k|        {"prefer-ucl", 0x10, N, 724},
 1077|       |
 1078|       |        // win32/pe
 1079|  14.1k|        {"compress-exports", 2, N, 630},
 1080|  14.1k|        {"compress-icons", 2, N, 631},
 1081|  14.1k|        {"compress-resources", 2, N, 632},
 1082|  14.1k|        {"strip-loadconf", 0x12, N, 633}, // OBSOLETE - IGNORED
 1083|  14.1k|        {"strip-relocs", 0x12, N, 634},
 1084|  14.1k|        {"keep-resource", 0x31, N, 635},
 1085|       |
 1086|  14.1k|        {nullptr, 0, nullptr, 0}};
 1087|       |
 1088|  14.1k|    char *env, *p;
 1089|  14.1k|    const char *var;
 1090|  14.1k|    int i, optc, longind;
 1091|  14.1k|    int targc;
 1092|  14.1k|    const char **targv = nullptr;
 1093|  14.1k|    static const char sep[] = " \t";
 1094|  14.1k|    char shortopts[256];
 1095|       |
 1096|  14.1k|    var = upx_getenv(OPTIONS_VAR);
  ------------------
  |  |   43|  14.1k|#define OPTIONS_VAR "UPX"
  ------------------
 1097|  14.1k|    if (var == nullptr || !var[0])
  ------------------
  |  Branch (1097:9): [True: 14.1k, False: 0]
  |  Branch (1097:27): [True: 0, False: 0]
  ------------------
 1098|  14.1k|        return;
 1099|      0|    env = ::strdup(var);
  ------------------
  |  |   67|      0|#define strdup upx_safe_strdup_noexcept
  ------------------
 1100|      0|    assert_noexcept(env != nullptr);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1101|      0|    if (env == nullptr)
  ------------------
  |  Branch (1101:9): [True: 0, False: 0]
  ------------------
 1102|      0|        return;
 1103|      0|    const auto env_deleter = upx::MallocDeleter(&env, 1); // don't leak memory
 1104|       |
 1105|       |    /* count arguments */
 1106|      0|    for (p = env, targc = 1;;) {
 1107|      0|        while (*p && strchr(sep, *p))
  ------------------
  |  Branch (1107:16): [True: 0, False: 0]
  |  Branch (1107:22): [True: 0, False: 0]
  ------------------
 1108|      0|            p++;
 1109|      0|        if (*p == '\0')
  ------------------
  |  Branch (1109:13): [True: 0, False: 0]
  ------------------
 1110|      0|            break;
 1111|      0|        targc++;
 1112|      0|        while (*p && !strchr(sep, *p))
  ------------------
  |  Branch (1112:16): [True: 0, False: 0]
  |  Branch (1112:22): [True: 0, False: 0]
  ------------------
 1113|      0|            p++;
 1114|      0|        if (*p == '\0')
  ------------------
  |  Branch (1114:13): [True: 0, False: 0]
  ------------------
 1115|      0|            break;
 1116|      0|        p++;
 1117|      0|    }
 1118|       |
 1119|       |    /* alloc temp argv */
 1120|      0|    if (targc > 1) {
  ------------------
  |  Branch (1120:9): [True: 0, False: 0]
  ------------------
 1121|      0|        targv = (const char **) upx_calloc(targc + 1, sizeof(char *));
 1122|      0|        assert_noexcept(targv != nullptr);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1123|      0|    }
 1124|      0|    if (targv == nullptr)
  ------------------
  |  Branch (1124:9): [True: 0, False: 0]
  ------------------
 1125|      0|        return;
 1126|      0|    const auto targv_deleter = upx::MallocDeleter(&targv, 1); // don't leak memory
 1127|       |
 1128|       |    /* fill temp argv */
 1129|      0|    targv[0] = argv0;
 1130|      0|    for (p = env, targc = 1;;) {
 1131|      0|        while (*p && strchr(sep, *p))
  ------------------
  |  Branch (1131:16): [True: 0, False: 0]
  |  Branch (1131:22): [True: 0, False: 0]
  ------------------
 1132|      0|            p++;
 1133|      0|        if (*p == '\0')
  ------------------
  |  Branch (1133:13): [True: 0, False: 0]
  ------------------
 1134|      0|            break;
 1135|      0|        targv[targc++] = p;
 1136|      0|        while (*p && !strchr(sep, *p))
  ------------------
  |  Branch (1136:16): [True: 0, False: 0]
  |  Branch (1136:22): [True: 0, False: 0]
  ------------------
 1137|      0|            p++;
 1138|      0|        if (*p == '\0')
  ------------------
  |  Branch (1138:13): [True: 0, False: 0]
  ------------------
 1139|      0|            break;
 1140|      0|        *p++ = '\0';
 1141|      0|    }
 1142|      0|    targv[targc] = nullptr;
 1143|       |
 1144|       |    /* check that only options are in temp argv */
 1145|      0|    for (i = 1; i < targc; i++)
  ------------------
  |  Branch (1145:17): [True: 0, False: 0]
  ------------------
 1146|      0|        if (targv[i][0] != '-' || !targv[i][1] || strcmp(targv[i], "--") == 0)
  ------------------
  |  Branch (1146:13): [True: 0, False: 0]
  |  Branch (1146:35): [True: 0, False: 0]
  |  Branch (1146:51): [True: 0, False: 0]
  ------------------
 1147|      0|            e_envopt(targv[i]);
 1148|       |
 1149|       |    /* handle options */
 1150|      0|    prepare_shortopts(shortopts, "123456789", longopts);
 1151|      0|    acc_getopt_init(&mfx_getopt, 1, targc, const_cast<char **>(targv));
 1152|      0|    mfx_getopt.progname = progname;
 1153|      0|    mfx_getopt.opterr = handle_opterr;
 1154|      0|    while ((optc = acc_getopt(&mfx_getopt, shortopts, longopts, &longind)) >= 0) {
  ------------------
  |  Branch (1154:12): [True: 0, False: 0]
  ------------------
 1155|      0|        if (do_option(optc, targv[mfx_optind - 1]) != 0)
  ------------------
  |  |   51|      0|#define mfx_optind mfx_getopt.optind
  ------------------
  |  Branch (1155:13): [True: 0, False: 0]
  ------------------
 1156|      0|            e_envopt(nullptr);
 1157|      0|    }
 1158|       |
 1159|      0|    if (mfx_optind < targc)
  ------------------
  |  |   51|      0|#define mfx_optind mfx_getopt.optind
  ------------------
  |  Branch (1159:9): [True: 0, False: 0]
  ------------------
 1160|      0|        e_envopt(targv[mfx_optind]);
  ------------------
  |  |   51|      0|#define mfx_optind mfx_getopt.optind
  ------------------
 1161|      0|#endif /* defined(OPTIONS_VAR) */
 1162|      0|}
_Z8upx_mainiPPc:
 1195|  14.1k|int upx_main(int argc, char *argv[]) may_throw {
 1196|  14.1k|    int i;
 1197|  14.1k|    static char default_argv0[] = "upx";
 1198|  14.1k|    assert(argc >= 1); // sanity check
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1199|  14.1k|    if (!argv[0] || !argv[0][0])
  ------------------
  |  Branch (1199:9): [True: 0, False: 14.1k]
  |  Branch (1199:21): [True: 0, False: 14.1k]
  ------------------
 1200|      0|        argv[0] = default_argv0;
 1201|  14.1k|    argv0 = argv[0];
 1202|       |
 1203|  14.1k|    upx_compiler_sanity_check();
 1204|  14.1k|    int dt_res = upx_doctest_check(argc, argv);
 1205|  14.1k|    if (dt_res != 0) {
  ------------------
  |  Branch (1205:9): [True: 0, False: 14.1k]
  ------------------
 1206|      0|        if (dt_res == 2)
  ------------------
  |  Branch (1206:13): [True: 0, False: 0]
  ------------------
 1207|      0|            fprintf(stderr, "%s: doctest requested program exit; Stop.\n", argv0);
 1208|      0|        else
 1209|      0|            fprintf(stderr, "%s: internal error: doctest check failed\n", argv0);
 1210|      0|        e_exit(EXIT_INIT);
  ------------------
  |  |  530|      0|#define EXIT_INIT       1
  ------------------
 1211|      0|    }
 1212|       |
 1213|       |    // Allow serial re-use of upx_main() as a subroutine
 1214|  14.1k|    exit_code = EXIT_OK;
  ------------------
  |  |  521|  14.1k|#define EXIT_OK         0
  ------------------
 1215|  14.1k|    opt->reset();
 1216|       |
 1217|       |#if (ACC_OS_CYGWIN || ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_EMX || ACC_OS_TOS || ACC_OS_WIN16 ||  \
 1218|       |     ACC_OS_WIN32 || ACC_OS_WIN64)
 1219|       |    {
 1220|       |        char *prog = fn_basename(argv0);
 1221|       |        char *p;
 1222|       |        bool allupper = true;
 1223|       |        for (p = prog; *p; p++)
 1224|       |            if (islower((uchar) *p))
 1225|       |                allupper = false;
 1226|       |        if (allupper)
 1227|       |            fn_strlwr(prog);
 1228|       |        if (p - prog > 4) {
 1229|       |            p -= 4;
 1230|       |            if (fn_strcmp(p, ".exe") == 0 || fn_strcmp(p, ".ttp") == 0)
 1231|       |                *p = 0;
 1232|       |        }
 1233|       |        progname = prog;
 1234|       |    }
 1235|       |#else
 1236|  14.1k|    progname = fn_basename(argv0);
 1237|  14.1k|#endif
 1238|  14.1k|    while (progname[0] == '.' && progname[1] == '/' && progname[2])
  ------------------
  |  Branch (1238:12): [True: 0, False: 14.1k]
  |  Branch (1238:34): [True: 0, False: 0]
  |  Branch (1238:56): [True: 0, False: 0]
  ------------------
 1239|      0|        progname += 2;
 1240|       |
 1241|  14.1k|    set_term(stderr);
 1242|       |
 1243|       |#if (WITH_BZIP2)
 1244|       |    assert(upx_bzip2_init() == 0);
 1245|       |#endif
 1246|  14.1k|    assert(upx_lzma_init() == 0);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1247|       |#if (WITH_NRV)
 1248|       |    assert(upx_nrv_init() == 0);
 1249|       |#endif
 1250|  14.1k|    assert(upx_ucl_init() == 0);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1251|      0|#if (WITH_ZLIB)
 1252|  14.1k|    assert(upx_zlib_init() == 0);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1253|      0|#endif
 1254|       |#if (WITH_ZSTD)
 1255|       |    assert(upx_zstd_init() == 0);
 1256|       |#endif
 1257|       |
 1258|       |    /* get options */
 1259|      0|    first_options(argc, argv);
 1260|  14.1k|    if (!opt->no_env)
  ------------------
  |  Branch (1260:9): [True: 14.1k, False: 0]
  ------------------
 1261|  14.1k|        main_get_envoptions();
 1262|  14.1k|    i = main_get_options(argc, argv);
 1263|  14.1k|    assert(i <= argc);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1264|       |
 1265|      0|    set_term(nullptr);
 1266|  14.1k|    switch (opt->cmd) {
 1267|      0|    case CMD_NONE:
  ------------------
  |  Branch (1267:5): [True: 0, False: 14.1k]
  ------------------
 1268|       |        /* default - compress */
 1269|      0|        set_cmd(CMD_COMPRESS);
 1270|      0|        break;
 1271|      0|    case CMD_COMPRESS:
  ------------------
  |  Branch (1271:5): [True: 0, False: 14.1k]
  ------------------
 1272|      0|        break;
 1273|  14.1k|    case CMD_DECOMPRESS:
  ------------------
  |  Branch (1273:5): [True: 14.1k, False: 0]
  ------------------
 1274|  14.1k|        break;
 1275|      0|    case CMD_TEST:
  ------------------
  |  Branch (1275:5): [True: 0, False: 14.1k]
  ------------------
 1276|      0|        break;
 1277|      0|    case CMD_LIST:
  ------------------
  |  Branch (1277:5): [True: 0, False: 14.1k]
  ------------------
 1278|      0|        break;
 1279|      0|    case CMD_FILEINFO:
  ------------------
  |  Branch (1279:5): [True: 0, False: 14.1k]
  ------------------
 1280|      0|        break;
 1281|      0|    case CMD_SYSINFO:
  ------------------
  |  Branch (1281:5): [True: 0, False: 14.1k]
  ------------------
 1282|      0|        show_sysinfo(OPTIONS_VAR);
  ------------------
  |  |   43|      0|#define OPTIONS_VAR "UPX"
  ------------------
 1283|      0|        e_exit(EXIT_OK);
  ------------------
  |  |  521|      0|#define EXIT_OK         0
  ------------------
 1284|      0|        break;
 1285|      0|    case CMD_HELP:
  ------------------
  |  Branch (1285:5): [True: 0, False: 14.1k]
  ------------------
 1286|      0|        show_help(2);
 1287|      0|        e_exit(EXIT_OK);
  ------------------
  |  |  521|      0|#define EXIT_OK         0
  ------------------
 1288|      0|        break;
 1289|      0|    case CMD_LICENSE:
  ------------------
  |  Branch (1289:5): [True: 0, False: 14.1k]
  ------------------
 1290|      0|        show_license();
 1291|      0|        e_exit(EXIT_OK);
  ------------------
  |  |  521|      0|#define EXIT_OK         0
  ------------------
 1292|      0|        break;
 1293|      0|    case CMD_VERSION:
  ------------------
  |  Branch (1293:5): [True: 0, False: 14.1k]
  ------------------
 1294|      0|        show_version();
 1295|      0|        e_exit(EXIT_OK);
  ------------------
  |  |  521|      0|#define EXIT_OK         0
  ------------------
 1296|      0|        break;
 1297|      0|    default:
  ------------------
  |  Branch (1297:5): [True: 0, False: 14.1k]
  ------------------
 1298|      0|        assert(false); // should not happen
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1299|      0|        break;
 1300|  14.1k|    }
 1301|       |
 1302|       |    /* check options */
 1303|  14.1k|    if (argc == 1)
  ------------------
  |  Branch (1303:9): [True: 0, False: 14.1k]
  ------------------
 1304|      0|        e_help();
 1305|  14.1k|    set_term(stderr);
 1306|  14.1k|    check_and_update_options(i, argc);
 1307|  14.1k|    int num_files = argc - i;
 1308|  14.1k|    if (num_files < 1) {
  ------------------
  |  Branch (1308:9): [True: 0, False: 14.1k]
  ------------------
 1309|      0|        if (opt->verbose >= 2)
  ------------------
  |  Branch (1309:13): [True: 0, False: 0]
  ------------------
 1310|      0|            e_help();
 1311|      0|        else
 1312|      0|            e_usage();
 1313|      0|    }
 1314|       |
 1315|       |    /* start work */
 1316|  14.1k|    set_term(stdout);
 1317|  14.1k|    if (do_files(i, argc, argv) != 0) {
  ------------------
  |  Branch (1317:9): [True: 16, False: 14.1k]
  ------------------
 1318|     16|        assert(exit_code != 0);
  ------------------
  |  |  493|     16|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|     32|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 16, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1319|      0|        return exit_code;
 1320|     16|    }
 1321|       |
 1322|  14.1k|    if (gitrev[0]) {
  ------------------
  |  Branch (1322:9): [True: 14.1k, False: 0]
  ------------------
 1323|       |        // also see UPX_CONFIG_DISABLE_GITREV in CMakeLists.txt
 1324|  14.1k|        bool warn_gitrev = true;
 1325|  14.1k|        if (is_envvar_true("UPX_DEBUG_DISABLE_GITREV_WARNING"))
  ------------------
  |  Branch (1325:13): [True: 0, False: 14.1k]
  ------------------
 1326|      0|            warn_gitrev = false;
 1327|  14.1k|        if (warn_gitrev) {
  ------------------
  |  Branch (1327:13): [True: 14.1k, False: 0]
  ------------------
 1328|  14.1k|            FILE *f = stdout;
 1329|  14.1k|            int fg = con_fg(f, FG_RED);
  ------------------
  |  |  164|  14.1k|#define con_fg(f, x) 0
  ------------------
 1330|  14.1k|            con_fprintf(
  ------------------
  |  |  165|  14.1k|#define con_fprintf  fprintf
  ------------------
 1331|  14.1k|                f, "\nWARNING: this is an unstable beta version - use for testing only! Really.\n");
 1332|  14.1k|            fg = con_fg(f, fg);
  ------------------
  |  |  164|  14.1k|#define con_fg(f, x) 0
  ------------------
 1333|  14.1k|            UNUSED(fg);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1334|  14.1k|        }
 1335|  14.1k|    }
 1336|       |
 1337|  14.1k|    return exit_code;
 1338|  14.1k|}
main.cpp:_ZL7set_eeciPi:
   87|  14.0k|static bool set_eec(int ec, int *eec) {
   88|  14.0k|    if (ec == EXIT_FATAL) {
  ------------------
  |  |   85|  14.0k|#define EXIT_FATAL 3
  ------------------
  |  Branch (88:9): [True: 0, False: 14.0k]
  ------------------
   89|      0|        *eec = EXIT_ERROR;
  ------------------
  |  |  522|      0|#define EXIT_ERROR      1
  ------------------
   90|      0|        return true;
   91|      0|    }
   92|  14.0k|    if (ec < 0 || ec == EXIT_ERROR) {
  ------------------
  |  |  522|  14.0k|#define EXIT_ERROR      1
  ------------------
  |  Branch (92:9): [True: 0, False: 14.0k]
  |  Branch (92:19): [True: 11.7k, False: 2.35k]
  ------------------
   93|  11.7k|        *eec = EXIT_ERROR;
  ------------------
  |  |  522|  11.7k|#define EXIT_ERROR      1
  ------------------
   94|  11.7k|    } else if (ec == EXIT_WARN) {
  ------------------
  |  |  523|  2.35k|#define EXIT_WARN       2
  ------------------
  |  Branch (94:16): [True: 2.35k, False: 0]
  ------------------
   95|  2.35k|        if (!opt->ignorewarn)
  ------------------
  |  Branch (95:13): [True: 2.35k, False: 0]
  ------------------
   96|  2.35k|            if (*eec == EXIT_OK)
  ------------------
  |  |  521|  2.35k|#define EXIT_OK         0
  ------------------
  |  Branch (96:17): [True: 2.35k, False: 0]
  ------------------
   97|  2.35k|                *eec = ec;
   98|  2.35k|    } else if (ec == EXIT_OK) {
  ------------------
  |  |  521|      0|#define EXIT_OK         0
  ------------------
  |  Branch (98:16): [True: 0, False: 0]
  ------------------
   99|       |        /* do nothing */
  100|      0|    } else {
  101|      0|        assert(0);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  102|      0|    }
  103|      0|    return false;
  104|  14.0k|}
main.cpp:_ZL17prepare_shortoptsPcPKcPK20acc_getopt_longopt_t:
  270|   127k|static char *prepare_shortopts(char *buf, const char *n, const struct mfx_option *longopts) {
  271|   127k|    char *o = buf;
  272|       |
  273|  1.78M|    for (; n && *n; n++)
  ------------------
  |  Branch (273:12): [True: 1.78M, False: 0]
  |  Branch (273:17): [True: 1.65M, False: 127k]
  ------------------
  274|  1.65M|        if (*n != ' ')
  ------------------
  |  Branch (274:13): [True: 1.65M, False: 0]
  ------------------
  275|  1.65M|            *o++ = *n;
  276|   127k|    *o = 0;
  277|  18.7M|    for (; longopts && longopts->name; longopts++) {
  ------------------
  |  Branch (277:12): [True: 18.7M, False: 0]
  |  Branch (277:24): [True: 18.5M, False: 127k]
  ------------------
  278|  18.5M|        int v = longopts->val;
  279|  18.5M|#if !defined(NDEBUG)
  280|  18.5M|        assert(longopts->name[0] != '\0');
  ------------------
  |  |  493|  18.5M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  37.1M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 18.5M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  281|  18.5M|        assert(longopts->name[0] != '-');
  ------------------
  |  |  493|  18.5M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  37.1M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 18.5M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  282|  18.5M|        if (longopts->has_arg & 0x20)
  ------------------
  |  Branch (282:13): [True: 3.94M, False: 14.6M]
  ------------------
  283|  3.94M|            assert((longopts->has_arg & 0xf) == 1);
  ------------------
  |  |  493|  3.94M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  7.89M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 3.94M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  284|      0|#endif
  285|       |#if 0
  286|       |        static char vopts[1024];
  287|       |        if (v > 0 && v < 1024) {
  288|       |            if (vopts[v] && strchr(buf, v) == nullptr)
  289|       |                printf("warning: duplicate option %d ('%c')!\n", v, v & 127);
  290|       |            vopts[v] = 1;
  291|       |        }
  292|       |#endif
  293|  18.5M|        if (v > 0 && v < 256 && strchr(buf, v) == nullptr) {
  ------------------
  |  Branch (293:13): [True: 18.5M, False: 0]
  |  Branch (293:22): [True: 2.03M, False: 16.5M]
  |  Branch (293:33): [True: 1.40M, False: 636k]
  ------------------
  294|  1.40M|            *o++ = (char) v;
  295|  1.40M|            if ((longopts->has_arg & 0xf) >= 1)
  ------------------
  |  Branch (295:17): [True: 127k, False: 1.27M]
  ------------------
  296|   127k|                *o++ = ':';
  297|  1.40M|            if ((longopts->has_arg & 0xf) >= 2)
  ------------------
  |  Branch (297:17): [True: 0, False: 1.40M]
  ------------------
  298|      0|                *o++ = ':';
  299|  1.40M|            *o = 0;
  300|  1.40M|        }
  301|  18.5M|        if (longopts->has_arg & 0x20)
  ------------------
  |  Branch (301:13): [True: 3.94M, False: 14.6M]
  ------------------
  302|  3.94M|            assert((longopts->has_arg & 0xf) == 1);
  ------------------
  |  |  493|  3.94M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  7.89M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 3.94M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  303|  18.5M|    }
  304|   127k|    return buf;
  305|   127k|}
main.cpp:_ZL9do_optioniPKc:
  351|   282k|static noinline int do_option(int optc, const char *arg) {
  352|   282k|    switch (optc) {
  353|       |#if 0
  354|       |    // FIXME: to_stdout doesn't work because of console code mess
  355|       |    // case 'c':
  356|       |    case 517:
  357|       |        opt->to_stdout = true;
  358|       |        break;
  359|       |#endif
  360|  14.1k|    case 'd':
  ------------------
  |  Branch (360:5): [True: 14.1k, False: 268k]
  ------------------
  361|  14.1k|        set_cmd(CMD_DECOMPRESS);
  362|  14.1k|        break;
  363|      0|    case 'D':
  ------------------
  |  Branch (363:5): [True: 0, False: 282k]
  ------------------
  364|      0|        opt->debug.debug_level++;
  365|      0|        break;
  366|      0|    case 'f':
  ------------------
  |  Branch (366:5): [True: 0, False: 282k]
  ------------------
  367|      0|        opt->force++;
  368|      0|        break;
  369|      0|    case 529:
  ------------------
  |  Branch (369:5): [True: 0, False: 282k]
  ------------------
  370|      0|        opt->force_overwrite = true;
  371|      0|        break;
  372|      0|    case 909:
  ------------------
  |  Branch (372:5): [True: 0, False: 282k]
  ------------------
  373|      0|        set_cmd(CMD_FILEINFO);
  374|      0|        break;
  375|      0|    case 910:
  ------------------
  |  Branch (375:5): [True: 0, False: 282k]
  ------------------
  376|      0|        set_cmd(CMD_SYSINFO);
  377|      0|        break;
  378|      0|    case 'h':
  ------------------
  |  Branch (378:5): [True: 0, False: 282k]
  ------------------
  379|      0|    case 'H':
  ------------------
  |  Branch (379:5): [True: 0, False: 282k]
  ------------------
  380|      0|    case '?':
  ------------------
  |  Branch (380:5): [True: 0, False: 282k]
  ------------------
  381|      0|        set_cmd(CMD_HELP);
  382|      0|        break;
  383|      0|    case 'h' + 256:
  ------------------
  |  Branch (383:5): [True: 0, False: 282k]
  ------------------
  384|      0|    case 996:
  ------------------
  |  Branch (384:5): [True: 0, False: 282k]
  ------------------
  385|      0|    case 997:
  ------------------
  |  Branch (385:5): [True: 0, False: 282k]
  ------------------
  386|      0|#if 1
  387|      0|        if (!acc_isatty(STDOUT_FILENO)) {
  ------------------
  |  Branch (387:13): [True: 0, False: 0]
  ------------------
  388|       |            /* according to GNU standards */
  389|      0|            set_term(stdout);
  390|      0|            opt->console = CON_FILE;
  391|      0|        }
  392|      0|#endif
  393|      0|        show_help(optc == 996 ? 1 : (optc == 997 ? 3 : 2));
  ------------------
  |  Branch (393:19): [True: 0, False: 0]
  |  Branch (393:38): [True: 0, False: 0]
  ------------------
  394|      0|        e_exit(EXIT_OK);
  ------------------
  |  |  521|      0|#define EXIT_OK         0
  ------------------
  395|      0|        break;
  396|      0|    case 'i':
  ------------------
  |  Branch (396:5): [True: 0, False: 282k]
  ------------------
  397|      0|        opt->info_mode++;
  398|      0|        break;
  399|      0|    case 'l':
  ------------------
  |  Branch (399:5): [True: 0, False: 282k]
  ------------------
  400|      0|        set_cmd(CMD_LIST);
  401|      0|        break;
  402|      0|    case 'L':
  ------------------
  |  Branch (402:5): [True: 0, False: 282k]
  ------------------
  403|      0|        set_cmd(CMD_LICENSE);
  404|      0|        break;
  405|  14.1k|    case 'o':
  ------------------
  |  Branch (405:5): [True: 14.1k, False: 268k]
  ------------------
  406|  14.1k|        set_output_name(mfx_optarg, 1);
  ------------------
  |  |   50|  14.1k|#define mfx_optarg mfx_getopt.optarg
  ------------------
  407|  14.1k|        break;
  408|      0|    case 'q':
  ------------------
  |  Branch (408:5): [True: 0, False: 282k]
  ------------------
  409|      0|        opt->verbose = (opt->verbose > 1 ? 1 : opt->verbose - 1);
  ------------------
  |  Branch (409:25): [True: 0, False: 0]
  ------------------
  410|      0|        break;
  411|      0|    case 't':
  ------------------
  |  Branch (411:5): [True: 0, False: 282k]
  ------------------
  412|      0|        set_cmd(CMD_TEST);
  413|      0|        break;
  414|      0|    case 'v':
  ------------------
  |  Branch (414:5): [True: 0, False: 282k]
  ------------------
  415|      0|        opt->verbose = (opt->verbose < 3 ? 3 : opt->verbose + 1);
  ------------------
  |  Branch (415:25): [True: 0, False: 0]
  ------------------
  416|      0|        break;
  417|      0|    case 'V':
  ------------------
  |  Branch (417:5): [True: 0, False: 282k]
  ------------------
  418|      0|        set_cmd(CMD_VERSION);
  419|      0|        break;
  420|      0|    case 'V' + 256:
  ------------------
  |  Branch (420:5): [True: 0, False: 282k]
  ------------------
  421|      0|    case 998:
  ------------------
  |  Branch (421:5): [True: 0, False: 282k]
  ------------------
  422|       |        /* according to GNU standards */
  423|      0|        set_term(stdout);
  424|      0|        opt->console = CON_FILE;
  425|      0|        show_version(optc == 998 ? true : false);
  ------------------
  |  Branch (425:22): [True: 0, False: 0]
  ------------------
  426|      0|        e_exit(EXIT_OK);
  ------------------
  |  |  521|      0|#define EXIT_OK         0
  ------------------
  427|      0|        break;
  428|       |
  429|       |    // method
  430|      0|    case 702:
  ------------------
  |  Branch (430:5): [True: 0, False: 282k]
  ------------------
  431|      0|        opt->method_nrv2b_seen = true;
  432|      0|        if (!set_method(M_NRV2B_LE32, -1))
  ------------------
  |  |  614|      0|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (432:13): [True: 0, False: 0]
  ------------------
  433|      0|            e_method(M_NRV2B_LE32, opt->level);
  ------------------
  |  |  614|      0|#define M_NRV2B_LE32  2
  ------------------
  434|      0|        break;
  435|      0|    case 704:
  ------------------
  |  Branch (435:5): [True: 0, False: 282k]
  ------------------
  436|      0|        opt->method_nrv2d_seen = true;
  437|      0|        if (!set_method(M_NRV2D_LE32, -1))
  ------------------
  |  |  617|      0|#define M_NRV2D_LE32  5
  ------------------
  |  Branch (437:13): [True: 0, False: 0]
  ------------------
  438|      0|            e_method(M_NRV2D_LE32, opt->level);
  ------------------
  |  |  617|      0|#define M_NRV2D_LE32  5
  ------------------
  439|      0|        break;
  440|      0|    case 705:
  ------------------
  |  Branch (440:5): [True: 0, False: 282k]
  ------------------
  441|      0|        opt->method_nrv2e_seen = true;
  442|      0|        if (!set_method(M_NRV2E_LE32, -1))
  ------------------
  |  |  620|      0|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (442:13): [True: 0, False: 0]
  ------------------
  443|      0|            e_method(M_NRV2E_LE32, opt->level);
  ------------------
  |  |  620|      0|#define M_NRV2E_LE32  8
  ------------------
  444|      0|        break;
  445|  84.8k|    case 721:
  ------------------
  |  Branch (445:5): [True: 84.8k, False: 198k]
  ------------------
  446|  84.8k|        opt->method_lzma_seen = true;
  447|  84.8k|        opt->all_methods_use_lzma = 1;
  448|  84.8k|        if (!set_method(M_LZMA, -1))
  ------------------
  |  |  626|  84.8k|#define M_LZMA        14
  ------------------
  |  Branch (448:13): [True: 0, False: 84.8k]
  ------------------
  449|      0|            e_method(M_LZMA, opt->level);
  ------------------
  |  |  626|      0|#define M_LZMA        14
  ------------------
  450|  84.8k|        break;
  451|  84.8k|    case 722:
  ------------------
  |  Branch (451:5): [True: 84.8k, False: 198k]
  ------------------
  452|  84.8k|        opt->method_lzma_seen = false;
  453|  84.8k|        opt->all_methods_use_lzma = -1; // explicitly disabled
  454|  84.8k|        if (M_IS_LZMA(opt->method))
  ------------------
  |  |  641|  84.8k|#define M_IS_LZMA(x)    (((x) &255) == M_LZMA)
  |  |  ------------------
  |  |  |  |  626|  84.8k|#define M_LZMA        14
  |  |  ------------------
  |  |  |  Branch (641:25): [True: 28.2k, False: 56.5k]
  |  |  ------------------
  ------------------
  455|  28.2k|            opt->method = -1;
  456|  84.8k|        break;
  457|      0|    case 723:
  ------------------
  |  Branch (457:5): [True: 0, False: 282k]
  ------------------
  458|      0|        opt->prefer_ucl = false;
  459|      0|        break;
  460|      0|    case 724:
  ------------------
  |  Branch (460:5): [True: 0, False: 282k]
  ------------------
  461|      0|        opt->prefer_ucl = true;
  462|      0|        break;
  463|       |
  464|       |    // compression level
  465|      0|    case '1':
  ------------------
  |  Branch (465:5): [True: 0, False: 282k]
  ------------------
  466|      0|    case '2':
  ------------------
  |  Branch (466:5): [True: 0, False: 282k]
  ------------------
  467|      0|    case '3':
  ------------------
  |  Branch (467:5): [True: 0, False: 282k]
  ------------------
  468|      0|    case '4':
  ------------------
  |  Branch (468:5): [True: 0, False: 282k]
  ------------------
  469|      0|    case '5':
  ------------------
  |  Branch (469:5): [True: 0, False: 282k]
  ------------------
  470|      0|    case '6':
  ------------------
  |  Branch (470:5): [True: 0, False: 282k]
  ------------------
  471|      0|    case '7':
  ------------------
  |  Branch (471:5): [True: 0, False: 282k]
  ------------------
  472|      0|    case '8':
  ------------------
  |  Branch (472:5): [True: 0, False: 282k]
  ------------------
  473|      0|    case '9':
  ------------------
  |  Branch (473:5): [True: 0, False: 282k]
  ------------------
  474|      0|        if (!set_method(-1, optc - '0'))
  ------------------
  |  Branch (474:13): [True: 0, False: 0]
  ------------------
  475|      0|            e_method(opt->method, optc);
  476|      0|        break;
  477|       |
  478|      0|    case 902: // --ultra-brute
  ------------------
  |  Branch (478:5): [True: 0, False: 282k]
  ------------------
  479|      0|        opt->ultra_brute = true;
  480|       |        /* fallthrough */
  481|  84.8k|    case 901: // --brute, much like --all-methods --all-filters --best
  ------------------
  |  Branch (481:5): [True: 84.8k, False: 198k]
  ------------------
  482|  84.8k|        opt->all_methods = true;
  483|  84.8k|        if (opt->all_methods_use_lzma != -1)
  ------------------
  |  Branch (483:13): [True: 56.5k, False: 28.2k]
  ------------------
  484|  56.5k|            opt->all_methods_use_lzma = 1;
  485|  84.8k|        opt->method = -1;
  486|  84.8k|        opt->all_filters = true;
  487|  84.8k|        opt->filter = -1;
  488|  84.8k|        opt->crp.crp_ucl.m_size = 999999;
  489|       |        /* fallthrough */
  490|  84.8k|    case 900: // --best
  ------------------
  |  Branch (490:5): [True: 0, False: 282k]
  ------------------
  491|  84.8k|        if (!set_method(-1, 10))
  ------------------
  |  Branch (491:13): [True: 0, False: 84.8k]
  ------------------
  492|      0|            e_method(opt->method, 10);
  493|  84.8k|        break;
  494|       |
  495|       |    // debug
  496|  84.8k|    case 542:
  ------------------
  |  Branch (496:5): [True: 0, False: 282k]
  ------------------
  497|      0|        if (!mfx_optarg || strlen(mfx_optarg) != 4)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
                      if (!mfx_optarg || strlen(mfx_optarg) != 4)
  ------------------
  |  |   70|      0|#define strlen upx_safe_strlen
  ------------------
                      if (!mfx_optarg || strlen(mfx_optarg) != 4)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  |  Branch (497:13): [True: 0, False: 0]
  |  Branch (497:28): [True: 0, False: 0]
  ------------------
  498|      0|            e_optarg(arg);
  499|      0|        memcpy(opt->debug.fake_stub_version, mfx_optarg, 4);
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  500|      0|        break;
  501|      0|    case 543:
  ------------------
  |  Branch (501:5): [True: 0, False: 282k]
  ------------------
  502|      0|        if (!mfx_optarg || strlen(mfx_optarg) != 4)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
                      if (!mfx_optarg || strlen(mfx_optarg) != 4)
  ------------------
  |  |   70|      0|#define strlen upx_safe_strlen
  ------------------
                      if (!mfx_optarg || strlen(mfx_optarg) != 4)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  |  Branch (502:13): [True: 0, False: 0]
  |  Branch (502:28): [True: 0, False: 0]
  ------------------
  503|      0|            e_optarg(arg);
  504|      0|        memcpy(opt->debug.fake_stub_year, mfx_optarg, 4);
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  505|      0|        break;
  506|      0|    case 544:
  ------------------
  |  Branch (506:5): [True: 0, False: 282k]
  ------------------
  507|      0|        if (!mfx_optarg || !mfx_optarg[0])
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
                      if (!mfx_optarg || !mfx_optarg[0])
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  |  Branch (507:13): [True: 0, False: 0]
  |  Branch (507:28): [True: 0, False: 0]
  ------------------
  508|      0|            e_optarg(arg);
  509|      0|        opt->debug.dump_stub_loader = mfx_optarg;
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  510|      0|        break;
  511|      0|    case 545:
  ------------------
  |  Branch (511:5): [True: 0, False: 282k]
  ------------------
  512|      0|        opt->debug.disable_random_id = true;
  513|      0|        break;
  514|      0|    case 546:
  ------------------
  |  Branch (514:5): [True: 0, False: 282k]
  ------------------
  515|      0|        opt->debug.use_random_method = true;
  516|      0|        break;
  517|      0|    case 547:
  ------------------
  |  Branch (517:5): [True: 0, False: 282k]
  ------------------
  518|      0|        opt->debug.use_random_filter = true;
  519|      0|        break;
  520|       |
  521|       |    // misc
  522|      0|    case 512:
  ------------------
  |  Branch (522:5): [True: 0, False: 282k]
  ------------------
  523|      0|        opt->console = CON_FILE;
  524|      0|        break;
  525|      0|    case 513:
  ------------------
  |  Branch (525:5): [True: 0, False: 282k]
  ------------------
  526|      0|        opt->console = CON_ANSI_MONO;
  527|      0|        break;
  528|      0|    case 514:
  ------------------
  |  Branch (528:5): [True: 0, False: 282k]
  ------------------
  529|      0|        opt->console = CON_ANSI_COLOR;
  530|      0|        break;
  531|      0|    case 516:
  ------------------
  |  Branch (531:5): [True: 0, False: 282k]
  ------------------
  532|      0|        opt->no_progress = true;
  533|      0|        break;
  534|      0|    case 519:
  ------------------
  |  Branch (534:5): [True: 0, False: 282k]
  ------------------
  535|      0|        opt->no_env = true;
  536|      0|        break;
  537|      0|    case 530:
  ------------------
  |  Branch (537:5): [True: 0, False: 282k]
  ------------------
  538|       |        // NOTE: only use "preserve_link" if you really need it, e.g. it can fail
  539|       |        //   with ETXTBSY and other unexpected errors; renaming files is much safer
  540|      0|        opt->preserve_link = true;
  541|      0|        break;
  542|      0|    case 531:
  ------------------
  |  Branch (542:5): [True: 0, False: 282k]
  ------------------
  543|      0|        opt->preserve_link = false;
  544|      0|        break;
  545|      0|    case 526:
  ------------------
  |  Branch (545:5): [True: 0, False: 282k]
  ------------------
  546|      0|        opt->preserve_mode = false;
  547|      0|        break;
  548|      0|    case 527:
  ------------------
  |  Branch (548:5): [True: 0, False: 282k]
  ------------------
  549|      0|        opt->preserve_ownership = false;
  550|      0|        break;
  551|      0|    case 528:
  ------------------
  |  Branch (551:5): [True: 0, False: 282k]
  ------------------
  552|      0|        opt->preserve_timestamp = false;
  553|      0|        break;
  554|       |    // compression settings
  555|      0|    case 520: // --small
  ------------------
  |  Branch (555:5): [True: 0, False: 282k]
  ------------------
  556|      0|        if (opt->small < 0)
  ------------------
  |  Branch (556:13): [True: 0, False: 0]
  ------------------
  557|      0|            opt->small = 0;
  558|      0|        opt->small++;
  559|      0|        break;
  560|      0|    case 521: // --filter=
  ------------------
  |  Branch (560:5): [True: 0, False: 282k]
  ------------------
  561|      0|        getoptvar(&opt->filter, 0, 255, arg);
  562|      0|        opt->all_filters = false;
  563|      0|        break;
  564|      0|    case 522: // --no-filter
  ------------------
  |  Branch (564:5): [True: 0, False: 282k]
  ------------------
  565|      0|        opt->filter = 0;
  566|      0|        opt->all_filters = false;
  567|      0|        opt->no_filter = true;
  568|      0|        break;
  569|      0|    case 523: // --all-filters, also see --brute above
  ------------------
  |  Branch (569:5): [True: 0, False: 282k]
  ------------------
  570|      0|        opt->all_filters = true;
  571|      0|        opt->filter = -1;
  572|      0|        break;
  573|      0|    case 524: // --all-methods, also see --brute above
  ------------------
  |  Branch (573:5): [True: 0, False: 282k]
  ------------------
  574|      0|        opt->all_methods = true;
  575|      0|        if (opt->all_methods_use_lzma != -1)
  ------------------
  |  Branch (575:13): [True: 0, False: 0]
  ------------------
  576|      0|            opt->all_methods_use_lzma = 1;
  577|      0|        opt->method = -1;
  578|      0|        break;
  579|      0|    case 525: // --exact
  ------------------
  |  Branch (579:5): [True: 0, False: 282k]
  ------------------
  580|      0|        opt->exact = true;
  581|      0|        break;
  582|       |    // CRP - Compression Runtime Parameters (undocumented and subject to change)
  583|      0|    case 801:
  ------------------
  |  Branch (583:5): [True: 0, False: 282k]
  ------------------
  584|      0|        getoptvar(&opt->crp.crp_ucl.c_flags, 0, 3, arg);
  585|      0|        break;
  586|      0|    case 802:
  ------------------
  |  Branch (586:5): [True: 0, False: 282k]
  ------------------
  587|      0|        getoptvar(&opt->crp.crp_ucl.s_level, 0, 2, arg);
  588|      0|        break;
  589|      0|    case 803:
  ------------------
  |  Branch (589:5): [True: 0, False: 282k]
  ------------------
  590|      0|        getoptvar(&opt->crp.crp_ucl.h_level, 0, 1, arg);
  591|      0|        break;
  592|      0|    case 804:
  ------------------
  |  Branch (592:5): [True: 0, False: 282k]
  ------------------
  593|      0|        getoptvar(&opt->crp.crp_ucl.p_level, 0, 7, arg);
  594|      0|        break;
  595|      0|    case 805:
  ------------------
  |  Branch (595:5): [True: 0, False: 282k]
  ------------------
  596|      0|        getoptvar(&opt->crp.crp_ucl.max_offset, 256u, ~0u, arg);
  597|      0|        break;
  598|      0|    case 806:
  ------------------
  |  Branch (598:5): [True: 0, False: 282k]
  ------------------
  599|      0|        getoptvar(&opt->crp.crp_ucl.max_match, 16u, ~0u, arg);
  600|      0|        break;
  601|      0|    case 807:
  ------------------
  |  Branch (601:5): [True: 0, False: 282k]
  ------------------
  602|      0|        getoptvar(&opt->crp.crp_ucl.m_size, 10000u, 999999u, arg);
  603|      0|        break;
  604|      0|    case 811:
  ------------------
  |  Branch (604:5): [True: 0, False: 282k]
  ------------------
  605|      0|        getoptvar(&opt->crp.crp_lzma.pos_bits, arg);
  606|      0|        break;
  607|      0|    case 812:
  ------------------
  |  Branch (607:5): [True: 0, False: 282k]
  ------------------
  608|      0|        getoptvar(&opt->crp.crp_lzma.lit_pos_bits, arg);
  609|      0|        break;
  610|      0|    case 813:
  ------------------
  |  Branch (610:5): [True: 0, False: 282k]
  ------------------
  611|      0|        getoptvar(&opt->crp.crp_lzma.lit_context_bits, arg);
  612|      0|        break;
  613|      0|    case 814:
  ------------------
  |  Branch (613:5): [True: 0, False: 282k]
  ------------------
  614|      0|        getoptvar(&opt->crp.crp_lzma.dict_size, arg);
  615|      0|        break;
  616|      0|    case 816:
  ------------------
  |  Branch (616:5): [True: 0, False: 282k]
  ------------------
  617|      0|        getoptvar(&opt->crp.crp_lzma.num_fast_bytes, arg);
  618|      0|        break;
  619|      0|    case 821:
  ------------------
  |  Branch (619:5): [True: 0, False: 282k]
  ------------------
  620|      0|        getoptvar(&opt->crp.crp_zlib.mem_level, arg);
  621|      0|        break;
  622|      0|    case 822:
  ------------------
  |  Branch (622:5): [True: 0, False: 282k]
  ------------------
  623|      0|        getoptvar(&opt->crp.crp_zlib.window_bits, arg);
  624|      0|        break;
  625|      0|    case 823:
  ------------------
  |  Branch (625:5): [True: 0, False: 282k]
  ------------------
  626|      0|        getoptvar(&opt->crp.crp_zlib.strategy, arg);
  627|      0|        break;
  628|       |    // backup
  629|      0|    case 'k':
  ------------------
  |  Branch (629:5): [True: 0, False: 282k]
  ------------------
  630|      0|        opt->backup = 1;
  631|      0|        break;
  632|      0|    case 541:
  ------------------
  |  Branch (632:5): [True: 0, False: 282k]
  ------------------
  633|      0|        if (opt->backup != 1) // do not override '--backup'
  ------------------
  |  Branch (633:13): [True: 0, False: 0]
  ------------------
  634|      0|            opt->backup = 0;
  635|      0|        break;
  636|       |    // overlay
  637|      0|    case 551:
  ------------------
  |  Branch (637:5): [True: 0, False: 282k]
  ------------------
  638|      0|        if (mfx_optarg && strcmp(mfx_optarg, "skip") == 0)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  |  |  ------------------
  |  |  |  Branch (50:20): [True: 0, False: 0]
  |  |  ------------------
  ------------------
                      if (mfx_optarg && strcmp(mfx_optarg, "skip") == 0)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  |  Branch (638:27): [True: 0, False: 0]
  ------------------
  639|      0|            opt->overlay = opt->SKIP_OVERLAY;
  640|      0|        else if (mfx_optarg && strcmp(mfx_optarg, "copy") == 0)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  |  |  ------------------
  |  |  |  Branch (50:20): [True: 0, False: 0]
  |  |  ------------------
  ------------------
                      else if (mfx_optarg && strcmp(mfx_optarg, "copy") == 0)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  |  Branch (640:32): [True: 0, False: 0]
  ------------------
  641|      0|            opt->overlay = opt->COPY_OVERLAY;
  642|      0|        else if (mfx_optarg && strcmp(mfx_optarg, "strip") == 0)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  |  |  ------------------
  |  |  |  Branch (50:20): [True: 0, False: 0]
  |  |  ------------------
  ------------------
                      else if (mfx_optarg && strcmp(mfx_optarg, "strip") == 0)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  |  Branch (642:32): [True: 0, False: 0]
  ------------------
  643|      0|            opt->overlay = opt->STRIP_OVERLAY;
  644|      0|        else
  645|      0|            e_optarg(arg);
  646|      0|        break;
  647|      0|    case 552:
  ------------------
  |  Branch (647:5): [True: 0, False: 282k]
  ------------------
  648|      0|        opt->overlay = opt->SKIP_OVERLAY;
  649|      0|        break;
  650|      0|    case 553:
  ------------------
  |  Branch (650:5): [True: 0, False: 282k]
  ------------------
  651|      0|        opt->overlay = opt->COPY_OVERLAY;
  652|      0|        break;
  653|      0|    case 554:
  ------------------
  |  Branch (653:5): [True: 0, False: 282k]
  ------------------
  654|      0|        opt->overlay = opt->STRIP_OVERLAY;
  655|      0|        break;
  656|       |    // CPU
  657|      0|    case 560:
  ------------------
  |  Branch (657:5): [True: 0, False: 282k]
  ------------------
  658|      0|        if (mfx_optarg && strcmp(mfx_optarg, "8086") == 0)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  |  |  ------------------
  |  |  |  Branch (50:20): [True: 0, False: 0]
  |  |  ------------------
  ------------------
                      if (mfx_optarg && strcmp(mfx_optarg, "8086") == 0)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  |  Branch (658:27): [True: 0, False: 0]
  ------------------
  659|      0|            opt->cpu_x86 = opt->CPU_8086;
  660|      0|        else if (mfx_optarg && strcmp(mfx_optarg, "386") == 0)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  |  |  ------------------
  |  |  |  Branch (50:20): [True: 0, False: 0]
  |  |  ------------------
  ------------------
                      else if (mfx_optarg && strcmp(mfx_optarg, "386") == 0)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  |  Branch (660:32): [True: 0, False: 0]
  ------------------
  661|      0|            opt->cpu_x86 = opt->CPU_386;
  662|      0|        else if (mfx_optarg && strcmp(mfx_optarg, "486") == 0)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  |  |  ------------------
  |  |  |  Branch (50:20): [True: 0, False: 0]
  |  |  ------------------
  ------------------
                      else if (mfx_optarg && strcmp(mfx_optarg, "486") == 0)
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  |  Branch (662:32): [True: 0, False: 0]
  ------------------
  663|      0|            opt->cpu_x86 = opt->CPU_486;
  664|      0|        else
  665|      0|            e_optarg(arg);
  666|      0|        break;
  667|      0|    case 561:
  ------------------
  |  Branch (667:5): [True: 0, False: 282k]
  ------------------
  668|      0|        opt->cpu_x86 = opt->CPU_8086;
  669|      0|        break;
  670|      0|    case 563:
  ------------------
  |  Branch (670:5): [True: 0, False: 282k]
  ------------------
  671|      0|        opt->cpu_x86 = opt->CPU_386;
  672|      0|        break;
  673|      0|    case 564:
  ------------------
  |  Branch (673:5): [True: 0, False: 282k]
  ------------------
  674|      0|        opt->cpu_x86 = opt->CPU_486;
  675|      0|        break;
  676|       |
  677|       |    // atari/tos
  678|      0|    case 650:
  ------------------
  |  Branch (678:5): [True: 0, False: 282k]
  ------------------
  679|      0|        opt->atari_tos.split_segments = true;
  680|      0|        break;
  681|       |    // darwin/macho
  682|      0|    case 690:
  ------------------
  |  Branch (682:5): [True: 0, False: 282k]
  ------------------
  683|      0|        opt->darwin_macho.force_macos = true;
  684|      0|        break;
  685|       |    // dos/exe
  686|      0|    case 600:
  ------------------
  |  Branch (686:5): [True: 0, False: 282k]
  ------------------
  687|      0|        opt->dos_exe.force_stub = true;
  688|      0|        break;
  689|      0|    case 601:
  ------------------
  |  Branch (689:5): [True: 0, False: 282k]
  ------------------
  690|      0|        opt->dos_exe.no_reloc = true;
  691|      0|        break;
  692|       |    // djgpp2/coff
  693|      0|    case 610:
  ------------------
  |  Branch (693:5): [True: 0, False: 282k]
  ------------------
  694|      0|        opt->djgpp2_coff.coff = true;
  695|      0|        break;
  696|       |    // o_unix
  697|      0|    case 660:
  ------------------
  |  Branch (697:5): [True: 0, False: 282k]
  ------------------
  698|      0|        getoptvar(&opt->o_unix.blocksize, 8192u, ~0u, arg);
  699|      0|        break;
  700|      0|    case 661:
  ------------------
  |  Branch (700:5): [True: 0, False: 282k]
  ------------------
  701|      0|        opt->o_unix.force_execve = true;
  702|      0|        break;
  703|      0|    case 663:
  ------------------
  |  Branch (703:5): [True: 0, False: 282k]
  ------------------
  704|      0|        opt->o_unix.is_ptinterp = true;
  705|      0|        break;
  706|      0|    case 664:
  ------------------
  |  Branch (706:5): [True: 0, False: 282k]
  ------------------
  707|      0|        opt->o_unix.use_ptinterp = true;
  708|      0|        break;
  709|      0|    case 665:
  ------------------
  |  Branch (709:5): [True: 0, False: 282k]
  ------------------
  710|      0|        opt->o_unix.make_ptinterp = true;
  711|      0|        break;
  712|      0|    case 666: // Linux
  ------------------
  |  Branch (712:5): [True: 0, False: 282k]
  ------------------
  713|      0|        opt->o_unix.osabi0 = Elf32_Ehdr::ELFOSABI_LINUX;
  714|      0|        break;
  715|      0|    case 667: // FreeBSD
  ------------------
  |  Branch (715:5): [True: 0, False: 282k]
  ------------------
  716|      0|        opt->o_unix.osabi0 = Elf32_Ehdr::ELFOSABI_FREEBSD;
  717|      0|        break;
  718|      0|    case 668: // NetBSD
  ------------------
  |  Branch (718:5): [True: 0, False: 282k]
  ------------------
  719|      0|        opt->o_unix.osabi0 = Elf32_Ehdr::ELFOSABI_NETBSD;
  720|      0|        break;
  721|      0|    case 669: // OpenBSD
  ------------------
  |  Branch (721:5): [True: 0, False: 282k]
  ------------------
  722|      0|        opt->o_unix.osabi0 = Elf32_Ehdr::ELFOSABI_OPENBSD;
  723|      0|        break;
  724|      0|    case 674:
  ------------------
  |  Branch (724:5): [True: 0, False: 282k]
  ------------------
  725|      0|        opt->o_unix.unmap_all_pages = true; // val ?
  726|      0|        break;
  727|      0|    case 675:
  ------------------
  |  Branch (727:5): [True: 0, False: 282k]
  ------------------
  728|      0|        opt->o_unix.preserve_build_id = true;
  729|      0|        break;
  730|      0|    case 676:
  ------------------
  |  Branch (730:5): [True: 0, False: 282k]
  ------------------
  731|      0|        opt->o_unix.android_shlib = true;
  732|      0|        break;
  733|      0|    case 677:
  ------------------
  |  Branch (733:5): [True: 0, False: 282k]
  ------------------
  734|      0|        opt->o_unix.force_pie = true;
  735|      0|        break;
  736|      0|    case 678:
  ------------------
  |  Branch (736:5): [True: 0, False: 282k]
  ------------------
  737|      0|        opt->o_unix.android_old = true;
  738|      0|        break;
  739|      0|    case 679:
  ------------------
  |  Branch (739:5): [True: 0, False: 282k]
  ------------------
  740|      0|        opt->o_unix.catch_sigsegv = true;
  741|      0|        break;
  742|       |    // ps1/exe
  743|      0|    case 670:
  ------------------
  |  Branch (743:5): [True: 0, False: 282k]
  ------------------
  744|      0|        opt->ps1_exe.boot_only = true;
  745|      0|        break;
  746|      0|    case 671:
  ------------------
  |  Branch (746:5): [True: 0, False: 282k]
  ------------------
  747|      0|        opt->ps1_exe.no_align = true;
  748|      0|        opt->ps1_exe.boot_only = false;
  749|      0|        break;
  750|      0|    case 672:
  ------------------
  |  Branch (750:5): [True: 0, False: 282k]
  ------------------
  751|      0|        opt->ps1_exe.do_8bit = true;
  752|      0|        break;
  753|      0|    case 673:
  ------------------
  |  Branch (753:5): [True: 0, False: 282k]
  ------------------
  754|      0|        opt->ps1_exe.do_8mib = false;
  755|      0|        break;
  756|       |    // watcom/le
  757|      0|    case 620:
  ------------------
  |  Branch (757:5): [True: 0, False: 282k]
  ------------------
  758|      0|        opt->watcom_le.le = true;
  759|      0|        break;
  760|       |    // win32/pe
  761|      0|    case 630:
  ------------------
  |  Branch (761:5): [True: 0, False: 282k]
  ------------------
  762|      0|        opt->win32_pe.compress_exports = 1;
  763|      0|        if (mfx_optarg && mfx_optarg[0])
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  |  |  ------------------
  |  |  |  Branch (50:20): [True: 0, False: 0]
  |  |  ------------------
  ------------------
                      if (mfx_optarg && mfx_optarg[0])
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  |  Branch (763:27): [True: 0, False: 0]
  ------------------
  764|      0|            getoptvar(&opt->win32_pe.compress_exports, 0, 1, arg);
  765|       |        // printf("compress_exports: %d\n", opt->win32_pe.compress_exports);
  766|      0|        break;
  767|      0|    case 631:
  ------------------
  |  Branch (767:5): [True: 0, False: 282k]
  ------------------
  768|      0|        opt->win32_pe.compress_icons = 1;
  769|      0|        if (mfx_optarg && mfx_optarg[0])
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  |  |  ------------------
  |  |  |  Branch (50:20): [True: 0, False: 0]
  |  |  ------------------
  ------------------
                      if (mfx_optarg && mfx_optarg[0])
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  |  Branch (769:27): [True: 0, False: 0]
  ------------------
  770|      0|            getoptvar(&opt->win32_pe.compress_icons, 0, 3, arg);
  771|       |        // printf("compress_icons: %d\n", opt->win32_pe.compress_icons);
  772|      0|        break;
  773|      0|    case 632:
  ------------------
  |  Branch (773:5): [True: 0, False: 282k]
  ------------------
  774|      0|        opt->win32_pe.compress_resources = 1;
  775|      0|        if (mfx_optarg && mfx_optarg[0]) {
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  |  |  ------------------
  |  |  |  Branch (50:20): [True: 0, False: 0]
  |  |  ------------------
  ------------------
                      if (mfx_optarg && mfx_optarg[0]) {
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  |  Branch (775:27): [True: 0, False: 0]
  ------------------
  776|      0|            int value = 0;
  777|      0|            getoptvar(&value, 0, 1, arg);
  778|      0|            opt->win32_pe.compress_resources = bool(value);
  779|      0|        }
  780|       |        // printf("compress_resources: %d\n", opt->win32_pe.compress_resources);
  781|      0|        break;
  782|      0|    case 633:
  ------------------
  |  Branch (782:5): [True: 0, False: 282k]
  ------------------
  783|       |        // opt->win32_pe.strip_loadconf - OBSOLETE - IGNORED
  784|      0|        break;
  785|      0|    case 634:
  ------------------
  |  Branch (785:5): [True: 0, False: 282k]
  ------------------
  786|      0|        opt->win32_pe.strip_relocs = 1;
  787|      0|        if (mfx_optarg && mfx_optarg[0])
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  |  |  ------------------
  |  |  |  Branch (50:20): [True: 0, False: 0]
  |  |  ------------------
  ------------------
                      if (mfx_optarg && mfx_optarg[0])
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  |  Branch (787:27): [True: 0, False: 0]
  ------------------
  788|      0|            getoptvar(&opt->win32_pe.strip_relocs, 0, 1, arg);
  789|       |        // printf("strip_relocs: %d\n", opt->win32_pe.strip_relocs);
  790|      0|        break;
  791|      0|    case 635:
  ------------------
  |  Branch (791:5): [True: 0, False: 282k]
  ------------------
  792|      0|        if (!mfx_optarg || !mfx_optarg[0])
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
                      if (!mfx_optarg || !mfx_optarg[0])
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  |  Branch (792:13): [True: 0, False: 0]
  |  Branch (792:28): [True: 0, False: 0]
  ------------------
  793|      0|            e_optarg(arg);
  794|      0|        opt->win32_pe.keep_resource = mfx_optarg;
  ------------------
  |  |   50|      0|#define mfx_optarg mfx_getopt.optarg
  ------------------
  795|      0|        break;
  796|       |
  797|      0|#if !defined(DOCTEST_CONFIG_DISABLE)
  798|      0|    case 999: // [doctest] --dt-XXX option; ignored here, see upx_doctest_check()
  ------------------
  |  Branch (798:5): [True: 0, False: 282k]
  ------------------
  799|      0|        break;
  800|      0|#endif
  801|       |
  802|      0|    case '\0':
  ------------------
  |  Branch (802:5): [True: 0, False: 282k]
  ------------------
  803|      0|        return -1;
  804|      0|    case ':':
  ------------------
  |  Branch (804:5): [True: 0, False: 282k]
  ------------------
  805|      0|        return -2;
  806|      0|    default:
  ------------------
  |  Branch (806:5): [True: 0, False: 282k]
  ------------------
  807|      0|        fprintf(stderr, "%s: internal error in getopt (%d)\n", argv0, optc);
  808|      0|        return -3;
  809|   282k|    }
  810|       |
  811|   282k|    return 0;
  812|   282k|}
main.cpp:_ZL15set_output_namePKcb:
  248|  14.1k|static void set_output_name(const char *n, bool allow_m) {
  249|  14.1k|#if 1
  250|  14.1k|    if (opt->output_name) {
  ------------------
  |  Branch (250:9): [True: 0, False: 14.1k]
  ------------------
  251|      0|        fprintf(stderr, "%s: option '-o' more than once given\n", argv0);
  252|      0|        e_usage();
  253|      0|    }
  254|  14.1k|#endif
  255|  14.1k|    if (!n || !n[0] || (!allow_m && n[0] == '-')) {
  ------------------
  |  Branch (255:9): [True: 0, False: 14.1k]
  |  Branch (255:15): [True: 0, False: 14.1k]
  |  Branch (255:25): [True: 0, False: 14.1k]
  |  Branch (255:37): [True: 0, False: 0]
  ------------------
  256|      0|        fprintf(stderr, "%s: missing output name\n", argv0);
  257|      0|        e_usage();
  258|      0|    }
  259|  14.1k|    if (strlen(n) >= ACC_FN_PATH_MAX - 4) {
  ------------------
  |  |   70|  14.1k|#define strlen upx_safe_strlen
  ------------------
                  if (strlen(n) >= ACC_FN_PATH_MAX - 4) {
  ------------------
  |  | 5216|  14.1k|#  define ACC_FN_PATH_MAX   1023
  ------------------
  |  Branch (259:9): [True: 0, False: 14.1k]
  ------------------
  260|      0|        fprintf(stderr, "%s: output name too long\n", argv0);
  261|      0|        e_usage();
  262|      0|    }
  263|  14.1k|    opt->output_name = n;
  264|  14.1k|}
main.cpp:_ZL10set_methodii:
  234|   169k|static bool set_method(int m, int l) {
  235|   169k|    if (m > 0) {
  ------------------
  |  Branch (235:9): [True: 84.8k, False: 84.8k]
  ------------------
  236|  84.8k|        if (!Packer::isValidCompressionMethod(m))
  ------------------
  |  Branch (236:13): [True: 0, False: 84.8k]
  ------------------
  237|      0|            return false;
  238|       |        // something like "--brute --lzma" should not disable "--brute"
  239|  84.8k|        if (!opt->all_methods)
  ------------------
  |  Branch (239:13): [True: 70.7k, False: 14.1k]
  ------------------
  240|  70.7k|            opt->method = m;
  241|  84.8k|    }
  242|   169k|    if (l > 0)
  ------------------
  |  Branch (242:9): [True: 84.8k, False: 84.8k]
  ------------------
  243|  84.8k|        opt->level = l;
  244|   169k|    set_cmd(CMD_COMPRESS);
  245|   169k|    return true;
  246|   169k|}
main.cpp:_ZL8set_termP8_IO_FILE:
  222|  56.5k|static void set_term(FILE *f) {
  223|  56.5k|    if (f != nullptr)
  ------------------
  |  Branch (223:9): [True: 42.4k, False: 14.1k]
  ------------------
  224|  42.4k|        con_term = f;
  225|  14.1k|    else
  226|  14.1k|        con_term = acc_isatty(STDIN_FILENO) ? stderr : stdout;
  ------------------
  |  Branch (226:20): [True: 0, False: 14.1k]
  ------------------
  227|  56.5k|}
main.cpp:_ZL13first_optionsiPPc:
 1164|  14.1k|static noinline void first_options(int argc, char **argv) {
 1165|  14.1k|    int i;
 1166|  14.1k|    int n = argc;
 1167|       |
 1168|  70.7k|    for (i = 1; i < n; i++) {
  ------------------
  |  Branch (1168:17): [True: 56.5k, False: 14.1k]
  ------------------
 1169|  56.5k|        if (strcmp(argv[i], "--") == 0) {
  ------------------
  |  Branch (1169:13): [True: 0, False: 56.5k]
  ------------------
 1170|      0|            n = i;
 1171|      0|            break;
 1172|      0|        }
 1173|  56.5k|        if (strcmp(argv[i], "--version") == 0)
  ------------------
  |  Branch (1173:13): [True: 0, False: 56.5k]
  ------------------
 1174|      0|            do_option('V' + 256, argv[i]);
 1175|  56.5k|        if (strcmp(argv[i], "--version-short") == 0)
  ------------------
  |  Branch (1175:13): [True: 0, False: 56.5k]
  ------------------
 1176|      0|            do_option(998, argv[i]);
 1177|  56.5k|    }
 1178|  70.7k|    for (i = 1; i < n; i++) {
  ------------------
  |  Branch (1178:17): [True: 56.5k, False: 14.1k]
  ------------------
 1179|  56.5k|        if (strcmp(argv[i], "--help") == 0)
  ------------------
  |  Branch (1179:13): [True: 0, False: 56.5k]
  ------------------
 1180|      0|            do_option('h' + 256, argv[i]);
 1181|  56.5k|        if (strcmp(argv[i], "--help-short") == 0) // undocumented and subject to change
  ------------------
  |  Branch (1181:13): [True: 0, False: 56.5k]
  ------------------
 1182|      0|            do_option(996, argv[i]);
 1183|  56.5k|        if (strcmp(argv[i], "--help-verbose") == 0) // undocumented and subject to change
  ------------------
  |  Branch (1183:13): [True: 0, False: 56.5k]
  ------------------
 1184|      0|            do_option(997, argv[i]);
 1185|  56.5k|    }
 1186|  70.7k|    for (i = 1; i < n; i++)
  ------------------
  |  Branch (1186:17): [True: 56.5k, False: 14.1k]
  ------------------
 1187|  56.5k|        if (strcmp(argv[i], "--no-env") == 0)
  ------------------
  |  Branch (1187:13): [True: 0, False: 56.5k]
  ------------------
 1188|      0|            do_option(519, argv[i]);
 1189|  14.1k|}
main.cpp:_ZL7set_cmdi:
  229|   183k|static void set_cmd(int cmd) {
  230|   183k|    if (cmd > opt->cmd)
  ------------------
  |  Branch (230:9): [True: 127k, False: 56.5k]
  ------------------
  231|   127k|        opt->cmd = cmd;
  232|   183k|}
main.cpp:_ZL24check_and_update_optionsii:
  168|  14.1k|static noinline void check_and_update_options(int i, int argc) {
  169|  14.1k|    assert(i <= argc);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  170|       |
  171|  14.1k|    if (opt->cmd != CMD_COMPRESS) {
  ------------------
  |  Branch (171:9): [True: 14.1k, False: 0]
  ------------------
  172|       |        // invalidate compression options
  173|  14.1k|        opt->method = 0;
  174|  14.1k|        opt->level = 0;
  175|  14.1k|        opt->exact = 0;
  176|  14.1k|        opt->small = 0;
  177|  14.1k|        opt->crp.reset();
  178|  14.1k|    }
  179|       |
  180|       |    // set default overlay action
  181|  14.1k|    if (!(opt->cmd == CMD_COMPRESS || opt->cmd == CMD_DECOMPRESS))
  ------------------
  |  Branch (181:11): [True: 0, False: 14.1k]
  |  Branch (181:39): [True: 14.1k, False: 0]
  ------------------
  182|      0|        opt->overlay = opt->COPY_OVERLAY;
  183|  14.1k|    else if (opt->overlay < 0)
  ------------------
  |  Branch (183:14): [True: 14.1k, False: 0]
  ------------------
  184|  14.1k|        opt->overlay = opt->COPY_OVERLAY;
  185|       |
  186|  14.1k|    check_not_both(opt->exact, opt->overlay == opt->STRIP_OVERLAY, "--exact", "--overlay=strip");
  187|       |
  188|       |    // set default backup option
  189|  14.1k|    if (opt->backup < 0)
  ------------------
  |  Branch (189:9): [True: 14.1k, False: 0]
  ------------------
  190|  14.1k|        opt->backup = 0;
  191|  14.1k|    if (!(opt->cmd == CMD_COMPRESS || opt->cmd == CMD_DECOMPRESS))
  ------------------
  |  Branch (191:11): [True: 0, False: 14.1k]
  |  Branch (191:39): [True: 14.1k, False: 0]
  ------------------
  192|      0|        opt->backup = 1;
  193|       |
  194|  14.1k|    check_not_both(opt->to_stdout, opt->output_name != nullptr, "--stdout", "-o");
  195|  14.1k|    if (opt->to_stdout && opt->cmd == CMD_COMPRESS) {
  ------------------
  |  Branch (195:9): [True: 0, False: 14.1k]
  |  Branch (195:27): [True: 0, False: 0]
  ------------------
  196|      0|        fprintf(stderr, "%s: cannot use '--stdout' when compressing\n", argv0);
  197|      0|        e_usage();
  198|      0|    }
  199|  14.1k|    if (opt->to_stdout || opt->output_name) {
  ------------------
  |  Branch (199:9): [True: 0, False: 14.1k]
  |  Branch (199:27): [True: 14.1k, False: 0]
  ------------------
  200|  14.1k|        if (i + 1 != argc) {
  ------------------
  |  Branch (200:13): [True: 0, False: 14.1k]
  ------------------
  201|      0|            fprintf(stderr, "%s: need exactly one argument when using '%s'\n", argv0,
  202|      0|                    opt->to_stdout ? "--stdout" : "-o");
  ------------------
  |  Branch (202:21): [True: 0, False: 0]
  ------------------
  203|      0|            e_usage();
  204|      0|        }
  205|  14.1k|    }
  206|  14.1k|    check_not_both(opt->force_overwrite, opt->preserve_link, "--force-overwrite", "--link");
  207|  14.1k|    check_not_both(opt->to_stdout, opt->preserve_link, "--stdout", "--link");
  208|       |
  209|  14.1k|#if defined(__unix__)
  210|  14.1k|    static_assert(HAVE_LSTAT);
  211|       |#else
  212|       |    // preserve_link is currently silently ignored on non-Unix platforms
  213|       |    // (we may revisit this decision later if there is some actual use-case)
  214|       |    opt->preserve_link = false;
  215|       |#endif
  216|  14.1k|}
main.cpp:_ZL14check_not_bothbbPKcS0_:
  161|  56.5k|static void check_not_both(bool e1, bool e2, const char *c1, const char *c2) {
  162|  56.5k|    if (e1 && e2) {
  ------------------
  |  Branch (162:9): [True: 0, False: 56.5k]
  |  Branch (162:15): [True: 0, False: 0]
  ------------------
  163|       |        fprintf(stderr, "%s: cannot use both '%s' and '%s'\n", argv0, c1, c2);
  164|      0|        e_usage();
  165|      0|    }
  166|  56.5k|}

_Z10printSetNli:
   38|  15.0k|void printSetNl(int need_nl) noexcept { pr_need_nl = need_nl; }
_Z8printErrPKcRK9Throwable:
  101|  14.0k|void printErr(const char *iname, const Throwable &e) noexcept {
  102|  14.0k|    char buf[1024];
  103|  14.0k|    size_t l;
  104|       |
  105|  14.0k|    upx_safe_snprintf(buf, sizeof(buf), "%s", prettyExceptionName(typeid(e).name()));
  106|  14.0k|    l = strlen(buf);
  ------------------
  |  |   70|  14.0k|#define strlen upx_safe_strlen
  ------------------
  107|  14.0k|    if (l < sizeof(buf) && e.getMsg())
  ------------------
  |  Branch (107:9): [True: 14.0k, False: 0]
  |  Branch (107:28): [True: 14.0k, False: 0]
  ------------------
  108|  14.0k|        upx_safe_snprintf(buf + l, sizeof(buf) - l, ": %s", e.getMsg());
  109|  14.0k|    l = strlen(buf);
  ------------------
  |  |   70|  14.0k|#define strlen upx_safe_strlen
  ------------------
  110|  14.0k|    if (l < sizeof(buf) && e.getErrno()) {
  ------------------
  |  Branch (110:9): [True: 14.0k, False: 0]
  |  Branch (110:28): [True: 0, False: 14.0k]
  ------------------
  111|      0|        upx_safe_snprintf(buf + l, sizeof(buf) - l, ": %s", strerror(e.getErrno()));
  112|      0|#if 1
  113|       |        // some compilers (e.g. Borland C++) put a trailing '\n'
  114|       |        // into the strerror() result
  115|      0|        l = strlen(buf);
  ------------------
  |  |   70|      0|#define strlen upx_safe_strlen
  ------------------
  116|      0|        while (l-- > 0 && (buf[l] == '\n' || buf[l] == ' '))
  ------------------
  |  Branch (116:16): [True: 0, False: 0]
  |  Branch (116:28): [True: 0, False: 0]
  |  Branch (116:46): [True: 0, False: 0]
  ------------------
  117|      0|            buf[l] = 0;
  118|      0|#endif
  119|      0|    }
  120|  14.0k|    pr_error(iname, buf, e.isWarning());
  121|  14.0k|}
_Z10infoHeaderv:
  176|  14.1k|void infoHeader() { info_header = 0; }
_Z10infoHeaderPKcz:
  178|     29|void infoHeader(const char *format, ...) {
  179|     29|    if (opt->info_mode <= 0)
  ------------------
  |  Branch (179:9): [True: 29, False: 0]
  ------------------
  180|     29|        return;
  181|      0|    va_list args;
  182|      0|    char buf[1024];
  183|      0|    va_start(args, format);
  184|      0|    upx_safe_vsnprintf(buf, sizeof(buf), format, args);
  185|       |    va_end(args);
  186|      0|    info_print(buf);
  187|      0|    info_header = 1;
  188|      0|}
_Z4infoPKcz:
  190|  1.07k|void info(const char *format, ...) {
  191|  1.07k|    if (opt->info_mode <= 0)
  ------------------
  |  Branch (191:9): [True: 221, False: 849]
  ------------------
  192|    221|        return;
  193|    849|    va_list args;
  194|    849|    char buf[1024];
  195|    849|    const int n = 4 * info_header;
  196|    849|    memset(buf, ' ', n);
  197|    849|    va_start(args, format);
  198|    849|    upx_safe_vsnprintf(buf + n, sizeof(buf) - n, format, args);
  199|       |    va_end(args);
  200|    849|    info_print(buf);
  201|    849|}
_Z11infoWarningPKcz:
  203|  1.65k|void infoWarning(const char *format, ...) {
  204|  1.65k|    if (opt->info_mode <= 0)
  ------------------
  |  Branch (204:9): [True: 804, False: 849]
  ------------------
  205|    804|        return;
  206|    849|    va_list args;
  207|    849|    char buf[1024];
  208|    849|    va_start(args, format);
  209|    849|    upx_safe_vsnprintf(buf, sizeof(buf), format, args);
  210|       |    va_end(args);
  211|    849|    info("[WARNING] %s\n", buf);
  212|    849|}
msg.cpp:_ZL8pr_errorPKcS0_b:
   66|  14.0k|static void pr_error(const char *iname, const char *msg, bool is_warning) noexcept {
   67|  14.0k|    fflush(stdout);
   68|  14.0k|    fflush(stderr);
   69|  14.0k|    char buf[1024];
   70|  14.0k|    buf[0] = 0;
   71|  14.0k|    if (pr_need_nl == 2)
  ------------------
  |  Branch (71:9): [True: 0, False: 14.0k]
  ------------------
   72|      0|        printClearLine(stdout);
   73|  14.0k|    else if (pr_need_nl) {
  ------------------
  |  Branch (73:14): [True: 0, False: 14.0k]
  ------------------
   74|      0|        buf[0] = '\n';
   75|      0|        buf[1] = 0;
   76|      0|        printSetNl(0);
   77|      0|    }
   78|       |
   79|       |    // This hack is needed, otherwise error messages may get lost
   80|       |    // when the cursor is not yet at the bottom of the screen.
   81|       |    // At least I can use some colors then...
   82|  14.0k|    bool c = acc_isatty(STDERR_FILENO) ? 1 : 0;
  ------------------
  |  Branch (82:14): [True: 0, False: 14.0k]
  ------------------
   83|       |
   84|  14.0k|    int fg = con_fg(stderr, FG_BRTRED);
  ------------------
  |  |  164|  14.0k|#define con_fg(f, x) 0
  ------------------
   85|  14.0k|    upx_safe_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%s: ", progname);
  ------------------
  |  |   70|  14.0k|#define strlen upx_safe_strlen
  ------------------
                  upx_safe_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%s: ", progname);
  ------------------
  |  |   70|  14.0k|#define strlen upx_safe_strlen
  ------------------
   86|  14.0k|    pr_print(c, buf);
   87|       |    //(void)con_fg(stderr,FG_RED);
   88|  14.0k|    upx_safe_snprintf(buf, sizeof(buf), "%s: ", iname);
   89|  14.0k|    pr_print(c, buf);
   90|       |    //(void)con_fg(stderr,FG_BRTRED);
   91|  14.0k|    pr_print(c, msg);
   92|  14.0k|    pr_print(c, "\n");
   93|  14.0k|    fflush(stdout);
   94|  14.0k|    fflush(stderr);
   95|  14.0k|    fg = con_fg(stderr, fg);
  ------------------
  |  |  164|  14.0k|#define con_fg(f, x) 0
  ------------------
   96|       |
   97|  14.0k|    UNUSED(is_warning);
  ------------------
  |  |  249|  14.0k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.0k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   98|  14.0k|    UNUSED(fg);
  ------------------
  |  |  249|  14.0k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.0k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   99|  14.0k|}
msg.cpp:_ZL8pr_printbPKc:
   59|  56.3k|static void pr_print(bool c, const char *msg) noexcept {
   60|  56.3k|    if (c && !opt->to_stdout)
  ------------------
  |  Branch (60:9): [True: 0, False: 56.3k]
  |  Branch (60:14): [True: 0, False: 0]
  ------------------
   61|      0|        con_fprintf(stderr, "%s", msg);
  ------------------
  |  |  165|      0|#define con_fprintf  fprintf
  ------------------
   62|  56.3k|    else
   63|  56.3k|        fprintf(stderr, "%s", msg);
   64|  56.3k|}
msg.cpp:_ZL10info_printPKc:
  161|    849|static void info_print(const char *msg) {
  162|    849|    if (opt->info_mode <= 0)
  ------------------
  |  Branch (162:9): [True: 0, False: 849]
  ------------------
  163|      0|        return;
  164|    849|    FILE *f = opt->to_stdout ? stderr : stdout;
  ------------------
  |  Branch (164:15): [True: 0, False: 849]
  ------------------
  165|    849|    if (pr_need_nl) {
  ------------------
  |  Branch (165:9): [True: 0, False: 849]
  ------------------
  166|      0|        printClearLine(f);
  167|      0|        con_fprintf(f, "%s\n", msg);
  ------------------
  |  |  165|      0|#define con_fprintf  fprintf
  ------------------
  168|    849|    } else if (pr_need_nl)
  ------------------
  |  Branch (168:16): [True: 0, False: 849]
  ------------------
  169|      0|        con_fprintf(f, "\n%s\n", msg);
  ------------------
  |  |  165|      0|#define con_fprintf  fprintf
  ------------------
  170|    849|    else
  171|    849|        con_fprintf(f, "%s\n", msg);
  ------------------
  |  |  165|    849|#define con_fprintf  fprintf
  ------------------
  172|    849|    fflush(f);
  173|    849|    printSetNl(0);
  174|    849|}

_ZN7Options5resetEv:
   42|   141k|void Options::reset() noexcept {
   43|   141k|#define opt ERROR_DO_NOT_USE_opt // self-protect against using the wrong variable
   44|   141k|    Options *const o = this;
   45|   141k|    mem_clear(o);
   46|   141k|    o->crp.reset();
   47|       |
   48|   141k|    o->cmd = CMD_NONE;
   49|   141k|    o->method = M_NONE;
  ------------------
  |  |  633|   141k|#define M_NONE        (-3)
  ------------------
   50|   141k|    o->level = -1;
   51|   141k|    o->filter = FT_NONE;
  ------------------
  |  |  648|   141k|#define FT_NONE        (-2)
  ------------------
   52|       |
   53|   141k|    o->backup = -1;
   54|   141k|    o->overlay = -1;
   55|   141k|    o->preserve_mode = true;
   56|   141k|    o->preserve_ownership = true;
   57|   141k|    o->preserve_timestamp = true;
   58|   141k|    o->verbose = 2;
   59|       |
   60|   141k|    o->console = CON_FILE;
   61|       |#if (ACC_OS_DOS32) && defined(__DJGPP__)
   62|       |    o->console = CON_INIT;
   63|       |#elif (USE_SCREEN_WIN32)
   64|       |    o->console = CON_INIT;
   65|       |#elif 1 && defined(__linux__)
   66|       |    o->console = CON_INIT;
   67|   141k|#endif
   68|       |    // support NO_COLOR, see https://no-color.org/
   69|       |    // "... when present and not an empty string (regardless of its value)"
   70|   141k|    const char *e = upx_getenv("NO_COLOR");
   71|   141k|    if (e && e[0])
  ------------------
  |  Branch (71:9): [True: 0, False: 141k]
  |  Branch (71:14): [True: 0, False: 0]
  ------------------
   72|      0|        o->console = CON_FILE;
   73|       |
   74|       |    // options for various executable formats
   75|       |
   76|   141k|    o->o_unix.osabi0 = 3; // 3 == ELFOSABI_LINUX
   77|       |
   78|   141k|    o->win32_pe.compress_exports = 1;
   79|   141k|    o->win32_pe.compress_icons = 2;
   80|   141k|    o->win32_pe.compress_resources = -1;
   81|  3.67M|    for (size_t i = 0; i < TABLESIZE(o->win32_pe.compress_rt); i++)
  ------------------
  |  |  449|  3.67M|#define TABLESIZE(table) ((sizeof(table) / sizeof((table)[0])))
  ------------------
  |  Branch (81:24): [True: 3.53M, False: 141k]
  ------------------
   82|  3.53M|        o->win32_pe.compress_rt[i] = -1;
   83|   141k|    o->win32_pe.compress_rt[24] = false; // 24 == RT_MANIFEST
   84|   141k|    o->win32_pe.strip_relocs = -1;
   85|   141k|    o->win32_pe.keep_resource = "";
   86|   141k|#undef opt
   87|   141k|}
options.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
   93|  14.1k|TEST_CASE("Options::reset") {
   94|  14.1k|#define opt ERROR_DO_NOT_USE_opt // self-protect against using the wrong variable
   95|  14.1k|    COMPILE_TIME_ASSERT(std::is_standard_layout<Options>::value)
  ------------------
  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   96|  14.1k|    COMPILE_TIME_ASSERT(std::is_nothrow_default_constructible<Options>::value)
  ------------------
  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   97|  14.1k|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<Options>::value)
  ------------------
  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   98|       |
   99|  14.1k|    Options local_options;
  100|  14.1k|    Options *const o = &local_options;
  101|  14.1k|    o->reset();
  102|  14.1k|    CHECK(o->o_unix.osabi0 == 3);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  103|  14.1k|    static_assert(TABLESIZE(o->win32_pe.compress_rt) == 25); // 25 == RT_LAST
  104|  14.1k|    CHECK(o->win32_pe.compress_exports);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  105|  14.1k|    CHECK(o->win32_pe.compress_icons);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  106|  14.1k|    CHECK(o->win32_pe.strip_relocs);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  107|       |    // issue 728
  108|  14.1k|    CHECK(o->win32_pe.compress_resources);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  109|   353k|    for (size_t i = 0; i < 24; i++)
  ------------------
  |  Branch (109:24): [True: 339k, False: 14.1k]
  ------------------
  110|   339k|        CHECK(o->win32_pe.compress_rt[i]);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   339k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   339k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   339k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   339k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   339k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   339k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   339k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   339k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   339k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   339k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|   339k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   339k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   339k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   339k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   339k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 339k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   339k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   339k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   339k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   339k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   339k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   353k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 339k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  111|  14.1k|    CHECK(!o->win32_pe.compress_rt[24]); // 24 == RT_MANIFEST
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  112|  14.1k|#undef opt
  113|  14.1k|}
options.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
  120|   113k|TEST_CASE("getopt") {
  121|       |#if WITH_THREADS
  122|       |    std::lock_guard<std::mutex> lock(opt_lock_mutex);
  123|       |#endif
  124|   113k|    Options *const saved_opt = opt;
  125|   113k|    Options local_options;
  126|   113k|    opt = &local_options;
  127|   113k|    opt->reset();
  128|   113k|    opt->debug.getopt_throw_instead_of_exit = true;
  129|   113k|    static const char a0[] = "<argv0>";
  130|       |
  131|   113k|    SUBCASE("issue 587") {
  ------------------
  |  | 2944|   113k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|   113k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|   113k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|   113k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|   113k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.1k, False: 99.0k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|   113k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  132|  14.1k|        const char *a[] = {a0, "--brute", "--lzma", nullptr};
  133|  14.1k|        test_options(a);
  134|  14.1k|        CHECK(opt->all_methods);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  135|  14.1k|        CHECK(opt->all_methods_use_lzma == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  136|  14.1k|    }
  137|   113k|    SUBCASE("issue 587") {
  ------------------
  |  | 2944|   113k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|   113k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|   113k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|   113k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|   113k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.1k, False: 99.0k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|   113k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  138|  14.1k|        const char *a[] = {a0, "--lzma", "--brute", nullptr};
  139|  14.1k|        test_options(a);
  140|  14.1k|        CHECK(opt->all_methods);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  141|  14.1k|        CHECK(opt->all_methods_use_lzma == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  142|  14.1k|    }
  143|   113k|    SUBCASE("issue 587") {
  ------------------
  |  | 2944|   113k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|   113k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|   113k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|   113k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|   113k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.1k, False: 99.0k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|   113k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  144|  14.1k|        const char *a[] = {a0, "--brute", "--no-lzma", nullptr};
  145|  14.1k|        test_options(a);
  146|  14.1k|        CHECK(opt->all_methods);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  147|  14.1k|        CHECK(opt->all_methods_use_lzma == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  148|  14.1k|    }
  149|   113k|    SUBCASE("issue 587") {
  ------------------
  |  | 2944|   113k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|   113k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|   113k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|   113k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|   113k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.1k, False: 99.0k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|   113k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  150|  14.1k|        const char *a[] = {a0, "--no-lzma", "--brute", nullptr};
  151|  14.1k|        test_options(a);
  152|  14.1k|        CHECK(opt->all_methods);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  153|  14.1k|        CHECK(opt->all_methods_use_lzma == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  154|  14.1k|    }
  155|   113k|    SUBCASE("issue 587") {
  ------------------
  |  | 2944|   113k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|   113k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|   113k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|   113k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|   113k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.1k, False: 99.0k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|   113k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  156|  14.1k|        const char *a[] = {a0, "--no-lzma", "--lzma", nullptr};
  157|  14.1k|        test_options(a);
  158|  14.1k|        CHECK(!opt->all_methods);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  159|  14.1k|        CHECK(opt->all_methods_use_lzma == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  160|  14.1k|        CHECK(opt->method == M_LZMA);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  161|  14.1k|    }
  162|   113k|    SUBCASE("issue 587") {
  ------------------
  |  | 2944|   113k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|   113k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|   113k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|   113k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|   113k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.1k, False: 99.0k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|   113k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  163|  14.1k|        const char *a[] = {a0, "--no-lzma", "--lzma", "--brute", nullptr};
  164|  14.1k|        test_options(a);
  165|  14.1k|        CHECK(opt->all_methods);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  166|  14.1k|        CHECK(opt->all_methods_use_lzma == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  167|  14.1k|        CHECK(opt->method == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  168|  14.1k|    }
  169|   113k|    SUBCASE("issue 587") {
  ------------------
  |  | 2944|   113k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|   113k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|   113k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|   113k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|   113k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.1k, False: 99.0k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|   113k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  170|  14.1k|        const char *a[] = {a0, "--lzma", "--no-lzma", nullptr};
  171|  14.1k|        test_options(a);
  172|  14.1k|        CHECK(!opt->all_methods);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  173|  14.1k|        CHECK(opt->all_methods_use_lzma == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  174|  14.1k|        CHECK(opt->method == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  175|  14.1k|    }
  176|   113k|    SUBCASE("issue 587") {
  ------------------
  |  | 2944|   113k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|   113k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|   113k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|   113k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|   113k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.1k, False: 99.0k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|   113k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  177|  14.1k|        const char *a[] = {a0, "--lzma", "--no-lzma", "--brute", nullptr};
  178|  14.1k|        test_options(a);
  179|  14.1k|        CHECK(opt->all_methods);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  180|  14.1k|        CHECK(opt->all_methods_use_lzma == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  181|  14.1k|        CHECK(opt->method == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  182|  14.1k|    }
  183|       |
  184|   113k|    opt = saved_opt;
  185|   113k|}
options.cpp:_ZL12test_optionsILm4EEvRAT__PKc:
  116|  84.8k|static inline void test_options(const char *(&a)[N]) {
  117|  84.8k|    (void) main_get_options((int) (N - 1), ACC_UNCONST_CAST(char **, a));
  ------------------
  |  | 1483|  84.8k|#    define ACC_UNCONST_CAST(t,e)           (const_cast<t> (e))
  ------------------
  118|  84.8k|}
options.cpp:_ZL12test_optionsILm5EEvRAT__PKc:
  116|  28.2k|static inline void test_options(const char *(&a)[N]) {
  117|  28.2k|    (void) main_get_options((int) (N - 1), ACC_UNCONST_CAST(char **, a));
  ------------------
  |  | 1483|  28.2k|#    define ACC_UNCONST_CAST(t,e)           (const_cast<t> (e))
  ------------------
  118|  28.2k|}

_ZN7OptionsUt2_5resetEv:
  130|   155k|        void reset() noexcept {
  131|   155k|            crp_bzip2.reset();
  132|   155k|            crp_lzma.reset();
  133|   155k|            crp_ucl.reset();
  134|   155k|            crp_zlib.reset();
  135|   155k|            crp_zstd.reset();
  136|   155k|        }

_ZN7PackCom9canUnpackEv:
  202|  4.79k|tribool PackCom::canUnpack() {
  203|  4.79k|    if (!readPackHeader(128)) // read "ph"
  ------------------
  |  Branch (203:9): [True: 4.61k, False: 176]
  ------------------
  204|  4.61k|        return false;
  205|    176|    if (file_size_u <= ph.c_len)
  ------------------
  |  Branch (205:9): [True: 0, False: 176]
  ------------------
  206|      0|        return false;
  207|    176|    return true;
  208|    176|}
_ZN7PackCom6unpackEP10OutputFile:
  214|     53|void PackCom::unpack(OutputFile *fo) {
  215|     53|    ibuf.alloc(file_size);
  216|     53|    obuf.allocForDecompression(ph.u_len);
  217|       |
  218|       |    // read whole file
  219|     53|    fi->seek(0, SEEK_SET);
  220|     53|    fi->readx(ibuf, file_size);
  221|       |
  222|       |    // get compressed data offset
  223|     53|    unsigned e_len = ph.buf_offset + ph.getPackHeaderSize();
  224|     53|    if (file_size_u <= e_len + ph.c_len)
  ------------------
  |  Branch (224:9): [True: 3, False: 50]
  ------------------
  225|      3|        throwCantUnpack("file damaged");
  226|       |
  227|       |    // decompress
  228|     50|    decompress(ibuf + e_len, obuf);
  229|       |
  230|       |    // unfilter
  231|     50|    Filter ft(ph.level);
  232|     50|    ft.init(ph.filter, getCallTrickOffset());
  233|     50|    ft.unfilter(obuf, ph.u_len);
  234|       |
  235|       |    // write decompressed file
  236|     50|    if (fo)
  ------------------
  |  Branch (236:9): [True: 0, False: 50]
  ------------------
  237|      0|        fo->write(obuf, ph.u_len);
  238|     50|}

_ZNK7PackCom10getVersionEv:
   39|  2.39k|    virtual int getVersion() const override { return 13; }
_ZNK7PackCom9getFormatEv:
   40|  2.39k|    virtual int getFormat() const override { return UPX_F_DOS_COM; }
  ------------------
  |  |  551|  2.39k|#define UPX_F_DOS_COM             1
  ------------------
_ZN7PackComC2EP9InputFile:
   38|  4.79k|    explicit PackCom(InputFile *f) : super(f) { bele = &N_BELE_RTP::le_policy; }

_ZN9PackCpm86C2EP9InputFile:
   90|  2.28k|PackCpm86::PackCpm86(InputFile *f) : super(f) {
   91|  2.28k|    bele = &N_BELE_RTP::le_policy;
   92|  2.28k|    ngroups = 0;
   93|  2.28k|    grp_code = grp_data = grp_extra = grp_stack = nullptr;
   94|  2.28k|    model_8080 = false;
   95|  2.28k|    memset(ih, 0, sizeof(ih));
   96|  2.28k|    memset(groups, 0, sizeof(groups));
   97|  2.28k|}
_ZN9PackCpm8614readFileHeaderEv:
  115|  2.28k|int PackCpm86::readFileHeader() {
  116|  2.28k|    ngroups = 0;
  117|  2.28k|    grp_code = grp_data = grp_extra = grp_stack = nullptr;
  118|  2.28k|    memset(groups, 0, sizeof(groups));
  119|       |
  120|  2.28k|    fi->seek(0, SEEK_SET);
  121|  2.28k|    if (fi->read(ih, CMD_HDR_SIZE) != (int) CMD_HDR_SIZE)
  ------------------
  |  Branch (121:9): [True: 0, False: 2.28k]
  ------------------
  122|      0|        return 0;
  123|       |
  124|       |    // the header tail (after the 8 group descriptors) must be all zero
  125|  12.2k|    for (unsigned i = CMD_NGROUPS * GD_SIZE; i < CMD_HDR_SIZE; i++)
  ------------------
  |  Branch (125:46): [True: 12.2k, False: 18]
  ------------------
  126|  12.2k|        if (ih[i] != 0)
  ------------------
  |  Branch (126:13): [True: 2.27k, False: 9.96k]
  ------------------
  127|  2.27k|            return 0;
  128|       |
  129|     18|    unsigned fpos = CMD_HDR_SIZE;
  130|     18|    int n = 0;
  131|     52|    for (unsigned i = 0; i < CMD_NGROUPS; i++) {
  ------------------
  |  Branch (131:26): [True: 48, False: 4]
  ------------------
  132|     48|        const byte *d = ih + i * GD_SIZE;
  133|     48|        unsigned type = d[0];
  134|     48|        if (type == GT_UNUSED)
  ------------------
  |  Branch (134:13): [True: 34, False: 14]
  ------------------
  135|     34|            continue;
  136|     14|        if (type > GT_ESCAPE)
  ------------------
  |  Branch (136:13): [True: 14, False: 0]
  ------------------
  137|     14|            return 0; // not a valid CMD
  138|      0|        Group &g = groups[n];
  139|      0|        g.type = type;
  140|      0|        g.length = get_le16(d + 1);
  141|      0|        g.base = get_le16(d + 3);
  142|      0|        g.min = get_le16(d + 5);
  143|      0|        g.max = get_le16(d + 7);
  144|      0|        g.file_off = fpos;
  145|      0|        fpos += g.length * 16;
  146|      0|        if (type == GT_CODE && !grp_code)
  ------------------
  |  Branch (146:13): [True: 0, False: 0]
  |  Branch (146:32): [True: 0, False: 0]
  ------------------
  147|      0|            grp_code = &g;
  148|      0|        else if (type == GT_DATA && !grp_data)
  ------------------
  |  Branch (148:18): [True: 0, False: 0]
  |  Branch (148:37): [True: 0, False: 0]
  ------------------
  149|      0|            grp_data = &g;
  150|      0|        else if (type == GT_EXTRA && !grp_extra)
  ------------------
  |  Branch (150:18): [True: 0, False: 0]
  |  Branch (150:38): [True: 0, False: 0]
  ------------------
  151|      0|            grp_extra = &g;
  152|      0|        else if (type == GT_STACK && !grp_stack)
  ------------------
  |  Branch (152:18): [True: 0, False: 0]
  |  Branch (152:38): [True: 0, False: 0]
  ------------------
  153|      0|            grp_stack = &g;
  154|      0|        n++;
  155|      0|    }
  156|      4|    ngroups = n;
  157|      4|    if (!grp_code || grp_code->length == 0)
  ------------------
  |  Branch (157:9): [True: 4, False: 0]
  |  Branch (157:22): [True: 0, False: 0]
  ------------------
  158|      4|        return 0; // must have a code group with content
  159|      0|    image_end = fpos;
  160|       |    // a CMD file may be shorter than its (paragraph-rounded) group extents (the
  161|       |    // tail is uninitialized BSS/dictionary space); the stub zero-fills it. Cap the
  162|       |    // implied zero-fill so a corrupt header can't blow up the work buffer.
  163|      0|    if (fpos > file_size_u + 0x10000)
  ------------------
  |  Branch (163:9): [True: 0, False: 0]
  ------------------
  164|      0|        return 0;
  165|      0|    model_8080 = (grp_data == nullptr);
  166|      0|    return UPX_F_CPM86_CMD;
  ------------------
  |  |  596|      0|#define UPX_F_CPM86_CMD           46 // CP/M-86 .cmd
  ------------------
  167|      0|}
_ZN9PackCpm869canUnpackEv:
  469|  2.28k|tribool PackCpm86::canUnpack() {
  470|  2.28k|    if (!readFileHeader())
  ------------------
  |  Branch (470:9): [True: 2.28k, False: 0]
  ------------------
  471|  2.28k|        return false;
  472|       |    // the loader + pack header live at the start of the code group
  473|      0|    fi->seek(grp_code->file_off, SEEK_SET);
  474|      0|    if (!readPackHeader(4096))
  ------------------
  |  Branch (474:9): [True: 0, False: 0]
  ------------------
  475|      0|        return false;
  476|      0|    return file_size_u > grp_code->file_off + ph.c_len;
  477|      0|}

_ZNK9PackCpm8610getVersionEv:
   52|  2.28k|    virtual int getVersion() const override { return 13; }
_ZNK9PackCpm869getFormatEv:
   53|  2.28k|    virtual int getFormat() const override { return UPX_F_CPM86_CMD; }
  ------------------
  |  |  596|  2.28k|#define UPX_F_CPM86_CMD           46 // CP/M-86 .cmd
  ------------------

_ZN10PackDjgpp2C2EP9InputFile:
   46|  14.1k|PackDjgpp2::PackDjgpp2(InputFile *f) : super(f), coff_offset(0) {
   47|  14.1k|    bele = &N_BELE_RTP::le_policy;
   48|  14.1k|    COMPILE_TIME_ASSERT(sizeof(dos_header_t) == 64)
  ------------------
  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   49|  14.1k|    COMPILE_TIME_ASSERT(sizeof(external_scnhdr_t) == 40)
  ------------------
  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   50|  14.1k|    COMPILE_TIME_ASSERT(sizeof(coff_header_t) == 0xa8)
  ------------------
  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   51|  14.1k|    COMPILE_TIME_ASSERT_ALIGNED1(dos_header_t)
  ------------------
  |  |  446|  14.1k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  14.1k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  14.1k|    {                                                                                              \
  |  |  |  |  |  |  429|  14.1k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  14.1k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  14.1k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  14.1k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  14.1k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  14.1k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  14.1k|        };                                                                                         \
  |  |  |  |  |  |  436|  14.1k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  14.1k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  14.1k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  14.1k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  14.1k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  14.1k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  14.1k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  14.1k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   52|  14.1k|    COMPILE_TIME_ASSERT_ALIGNED1(external_scnhdr_t)
  ------------------
  |  |  446|  14.1k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  14.1k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  14.1k|    {                                                                                              \
  |  |  |  |  |  |  429|  14.1k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  14.1k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  14.1k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  14.1k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  14.1k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  14.1k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  14.1k|        };                                                                                         \
  |  |  |  |  |  |  436|  14.1k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  14.1k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  14.1k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  14.1k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  14.1k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  14.1k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  14.1k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  14.1k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   53|  14.1k|    COMPILE_TIME_ASSERT_ALIGNED1(coff_header_t)
  ------------------
  |  |  446|  14.1k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  14.1k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  14.1k|    {                                                                                              \
  |  |  |  |  |  |  429|  14.1k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  14.1k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  14.1k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  14.1k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  14.1k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  14.1k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  14.1k|        };                                                                                         \
  |  |  |  |  |  |  436|  14.1k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  14.1k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  14.1k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  14.1k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  14.1k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  14.1k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  14.1k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  14.1k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   54|  14.1k|    COMPILE_TIME_ASSERT(sizeof(stub_i386_dos32_djgpp2_stubify) == 2048)
  ------------------
  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   55|  14.1k|    COMPILE_TIME_ASSERT(STUB_I386_DOS32_DJGPP2_STUBIFY_ADLER32 == 0xbf689ba8)
  ------------------
  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   56|  14.1k|    COMPILE_TIME_ASSERT(STUB_I386_DOS32_DJGPP2_STUBIFY_CRC32 == 0x2ae982b2)
  ------------------
  |  |  247|  14.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   57|       |    // printf("0x%08x\n", upx_adler32(stubify_stub, sizeof(stubify_stub)));
   58|       |    // assert(upx_adler32(stubify_stub, sizeof(stubify_stub)) == STUBIFY_STUB_ADLER32);
   59|  14.1k|}
_ZN10PackDjgpp210handleStubEP10OutputFile:
   99|      9|void PackDjgpp2::handleStub(OutputFile *fo) {
  100|      9|    if (fo && !opt->djgpp2_coff.coff) {
  ------------------
  |  Branch (100:9): [True: 9, False: 0]
  |  Branch (100:15): [True: 9, False: 0]
  ------------------
  101|      9|        if (coff_offset > 0) {
  ------------------
  |  Branch (101:13): [True: 7, False: 2]
  ------------------
  102|       |            // copy stub from exe
  103|      7|            Packer::handleStub(fi, fo, coff_offset);
  104|      7|        } else {
  105|       |            // "stubify" stub
  106|      2|            info("Adding stub: %zd bytes", sizeof(stub_i386_dos32_djgpp2_stubify));
  107|      2|            fo->write(stub_i386_dos32_djgpp2_stubify, sizeof(stub_i386_dos32_djgpp2_stubify));
  108|      2|        }
  109|      9|    }
  110|      9|}
_ZN10PackDjgpp214readFileHeaderEv:
  156|  14.1k|int PackDjgpp2::readFileHeader() {
  157|  14.1k|    dos_header_t dos_hdr;
  158|       |
  159|  14.1k|    fi->seek(0, SEEK_SET);
  160|  14.1k|    fi->readx(&dos_hdr, sizeof(dos_hdr));
  161|  14.1k|    if (get_le16(&dos_hdr.e_magic) == 0x5a4d) { // MZ exe signature, stubbed?
  ------------------
  |  Branch (161:9): [True: 475, False: 13.6k]
  ------------------
  162|    475|        byte magic[8];
  163|    475|        fi->seek(16 * get_le16(&dos_hdr.e_cparhdr), SEEK_SET);
  164|    475|        fi->readx(magic, 8);
  165|    475|        if (memcmp("go32stub", magic, 8) != 0)
  ------------------
  |  Branch (165:13): [True: 348, False: 127]
  ------------------
  166|    348|            return 0; // not V2 image
  167|    475|    }
  168|  13.7k|    coff_offset = 512 * get_le16(&dos_hdr.e_cp);
  169|  13.7k|    if (get_le16(&dos_hdr.e_cblp) != 0)
  ------------------
  |  Branch (169:9): [True: 13.3k, False: 420]
  ------------------
  170|  13.3k|        coff_offset += get_le16(&dos_hdr.e_cblp) - 512;
  171|  13.7k|    fi->seek(coff_offset, SEEK_SET);
  172|  13.7k|    if (fi->read(&coff_hdr, sizeof(coff_hdr)) != sizeof(coff_hdr))
  ------------------
  |  Branch (172:9): [True: 3, False: 13.7k]
  ------------------
  173|      3|        throwCantPack("skipping djgpp symlink");
  174|  13.7k|    if (coff_hdr.f_magic != 0x014c) // I386MAGIC
  ------------------
  |  Branch (174:9): [True: 463, False: 13.3k]
  ------------------
  175|    463|        return 0;
  176|  13.3k|    if ((coff_hdr.f_flags & 2) == 0) // F_EXEC - COFF executable
  ------------------
  |  Branch (176:9): [True: 1, False: 13.3k]
  ------------------
  177|      1|        return 0;
  178|  13.3k|    if (coff_hdr.a_magic != 0413) // ZMAGIC - demand load format
  ------------------
  |  Branch (178:9): [True: 2, False: 13.3k]
  ------------------
  179|      2|        return 0;
  180|       |    // FIXME: check for Linux etc.
  181|       |
  182|  13.3k|    text = &coff_hdr.sh[0];
  183|  13.3k|    data = &coff_hdr.sh[1];
  184|  13.3k|    bss = &coff_hdr.sh[2];
  185|  13.3k|    return UPX_F_DJGPP2_COFF;
  ------------------
  |  |  554|  13.3k|#define UPX_F_DJGPP2_COFF         4
  ------------------
  186|  13.3k|}
_ZN10PackDjgpp29canUnpackEv:
  349|  14.1k|tribool PackDjgpp2::canUnpack() {
  350|  14.1k|    if (!readFileHeader())
  ------------------
  |  Branch (350:9): [True: 814, False: 13.3k]
  ------------------
  351|    814|        return false;
  352|  13.3k|    if (is_dlm(fi, coff_offset))
  ------------------
  |  Branch (352:9): [True: 1, False: 13.3k]
  ------------------
  353|      1|        throwCantUnpack("can't handle DLM");
  354|  13.3k|    fi->seek(coff_offset, SEEK_SET);
  355|  13.3k|    return readPackHeader(4096) ? 1 : -1;
  ------------------
  |  Branch (355:12): [True: 9, False: 13.3k]
  ------------------
  356|  13.3k|}
_ZN10PackDjgpp26unpackEP10OutputFile:
  362|      9|void PackDjgpp2::unpack(OutputFile *fo) {
  363|      9|    handleStub(fo);
  364|       |
  365|      9|    ibuf.alloc(ph.c_len);
  366|      9|    obuf.allocForDecompression(ph.u_len);
  367|       |
  368|      9|    fi->seek(coff_offset + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
  369|      9|    fi->readx(ibuf, ph.c_len);
  370|       |
  371|       |    // decompress
  372|      9|    decompress(ibuf, obuf);
  373|       |
  374|      9|    coff_header_t *const chdr = (coff_header_t *) raw_bytes(obuf, sizeof(coff_header_t));
  375|      9|    text = &chdr->sh[0];
  376|      9|    data = &chdr->sh[1];
  377|      9|    bss = &chdr->sh[2];
  378|       |
  379|      9|    const unsigned hdrsize = 20 + 28 + mem_size(sizeof(external_scnhdr_t), chdr->f_nscns);
  380|      9|    if (hdrsize < sizeof(coff_hdr) || hdrsize > text->scnptr || hdrsize > ph.u_len)
  ------------------
  |  Branch (380:9): [True: 7, False: 2]
  |  Branch (380:39): [True: 0, False: 2]
  |  Branch (380:65): [True: 0, False: 2]
  ------------------
  381|      0|        throwCantUnpack("coff header error");
  382|       |
  383|      9|    unsigned addvalue;
  384|      9|    if (ph.version >= 14)
  ------------------
  |  Branch (384:9): [True: 2, False: 7]
  ------------------
  385|      2|        addvalue = text->vaddr - hdrsize;
  386|      7|    else
  387|      7|        addvalue = text->vaddr & ~0x1ff; // for old versions
  388|       |
  389|       |    // unfilter
  390|      9|    if (ph.filter) {
  ------------------
  |  Branch (390:9): [True: 2, False: 7]
  ------------------
  391|      2|        Filter ft(ph.level);
  392|      2|        ft.init(ph.filter, addvalue);
  393|      2|        ft.cto = (byte) ph.filter_cto;
  394|      2|        if (ph.version < 11) {
  ------------------
  |  Branch (394:13): [True: 0, False: 2]
  ------------------
  395|      0|            byte ctobuf[4];
  396|      0|            fi->readx(ctobuf, 4);
  397|      0|            ft.cto = (byte) (get_le32(ctobuf) >> 24);
  398|      0|        }
  399|      2|        ft.unfilter(obuf, ph.u_len - data->size);
  400|      2|    }
  401|       |
  402|      9|    if (ph.version < 14) {
  ------------------
  |  Branch (402:9): [True: 0, False: 9]
  ------------------
  403|       |        // fixup for the aligning bug in strip 2.8+
  404|      0|        text->scnptr &= 0x1ff;
  405|      0|        data->scnptr = text->scnptr + text->size;
  406|       |        // write decompressed file
  407|      0|        if (fo)
  ------------------
  |  Branch (407:13): [True: 0, False: 0]
  ------------------
  408|      0|            fo->write(obuf, ph.u_len);
  409|      9|    } else {
  410|       |        // write the header
  411|       |        // some padding might be required between the end
  412|       |        // of the header and the start of the .text section
  413|       |
  414|      9|        const unsigned padding = text->scnptr - hdrsize;
  415|      9|        ibuf.clear(0, padding);
  416|       |
  417|      9|        if (fo) {
  ------------------
  |  Branch (417:13): [True: 2, False: 7]
  ------------------
  418|      2|            fo->write(obuf, hdrsize);
  419|      2|            fo->write(ibuf, padding);
  420|      2|            fo->write(obuf + hdrsize, ph.u_len - hdrsize);
  421|      2|        }
  422|      9|    }
  423|       |
  424|      9|    if (fo)
  ------------------
  |  Branch (424:9): [True: 2, False: 7]
  ------------------
  425|      2|        handle_allegropak(fi, fo);
  426|      9|}
p_djgpp2.cpp:_ZL6is_dlmP9InputFilej:
  112|     33|static bool is_dlm(InputFile *fi, unsigned coff_offset) {
  113|     33|    byte buf[4];
  114|     33|    unsigned off;
  115|       |
  116|     33|    try {
  117|     33|        fi->seek(coff_offset, SEEK_SET);
  118|     33|        fi->readx(buf, 4);
  119|     33|        off = get_le32(buf);
  120|     33|        if (off > coff_offset + 4)
  ------------------
  |  Branch (120:13): [True: 29, False: 4]
  ------------------
  121|     29|            return false;
  122|      4|        fi->seek(off, SEEK_SET);
  123|      4|        fi->readx(buf, 4);
  124|      4|        if (memcmp(buf, "DLMF", 4) == 0)
  ------------------
  |  Branch (124:13): [True: 1, False: 3]
  ------------------
  125|      1|            return true;
  126|      4|    } catch (const IOException &) {
  127|      0|    }
  128|      3|    return false;
  129|     33|}
p_djgpp2.cpp:_ZL17handle_allegropakP9InputFileP10OutputFile:
  131|      2|static void handle_allegropak(InputFile *fi, OutputFile *fo) {
  132|      2|    byte b[8];
  133|      2|    int pfsize = 0;
  134|       |
  135|      2|    try {
  136|      2|        fi->seek(-8, SEEK_END);
  137|      2|        fi->readx(b, 8);
  138|      2|        if (memcmp(b, "slh+", 4) != 0)
  ------------------
  |  Branch (138:13): [True: 2, False: 0]
  ------------------
  139|      2|            return;
  140|      0|        pfsize = get_be32_signed(b + 4);
  141|      0|        if (pfsize <= 8 || pfsize >= fi->st.st_size)
  ------------------
  |  Branch (141:13): [True: 0, False: 0]
  |  Branch (141:28): [True: 0, False: 0]
  ------------------
  142|      0|            return;
  143|      0|        fi->seek(-pfsize, SEEK_END);
  144|      0|    } catch (const IOException &) {
  145|      0|        return;
  146|      0|    }
  147|      0|    MemBuffer buf(0x4000);
  148|      0|    while (pfsize > 0) {
  ------------------
  |  Branch (148:12): [True: 0, False: 0]
  ------------------
  149|      0|        const int len = UPX_MIN(pfsize, (int) buf.getSize());
  ------------------
  |  |  514|      0|#define UPX_MIN(a, b)      (upx::min((a), (b)))
  ------------------
  150|      0|        fi->readx(buf, len);
  151|      0|        fo->write(buf, len);
  152|      0|        pfsize -= len;
  153|      0|    }
  154|      0|}

_ZNK10PackDjgpp210getVersionEv:
   39|  14.1k|    virtual int getVersion() const override { return 14; }
_ZNK10PackDjgpp29getFormatEv:
   40|  14.1k|    virtual int getFormat() const override { return UPX_F_DJGPP2_COFF; }
  ------------------
  |  |  554|  14.1k|#define UPX_F_DJGPP2_COFF         4
  ------------------
_ZNK10PackDjgpp27getNameEv:
   41|      2|    virtual const char *getName() const override { return "djgpp2/coff"; }

_ZN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEE21compileTimeAssertionsEv:
  290|  26.0k|    static void compileTimeAssertions() noexcept {
  291|  26.0k|        BeLePolicy::compileTimeAssertions();
  292|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Ehdr) == 52)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  293|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Phdr) == 32)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  294|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Shdr) == 40)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  295|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Dyn) == 8)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  296|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Rel) == 8)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  297|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Rela) == 12)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  298|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Sym) == 16)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  299|  26.0k|        COMPILE_TIME_ASSERT(sizeof(External_Note) == 12)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  300|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Ehdr)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  301|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Phdr)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  302|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Shdr)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  303|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Dyn)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  304|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Rel)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  305|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Rela)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  306|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Sym)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  307|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(External_Note)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  308|  26.0k|    }
_ZN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEE21compileTimeAssertionsEv:
  290|  26.0k|    static void compileTimeAssertions() noexcept {
  291|  26.0k|        BeLePolicy::compileTimeAssertions();
  292|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Ehdr) == 52)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  293|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Phdr) == 32)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  294|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Shdr) == 40)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  295|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Dyn) == 8)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  296|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Rel) == 8)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  297|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Rela) == 12)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  298|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Sym) == 16)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  299|  26.0k|        COMPILE_TIME_ASSERT(sizeof(External_Note) == 12)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  300|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Ehdr)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  301|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Phdr)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  302|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Shdr)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  303|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Dyn)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  304|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Rel)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  305|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Rela)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  306|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Sym)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  307|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(External_Note)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  308|  26.0k|    }
_ZN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEE21compileTimeAssertionsEv:
  331|  26.0k|    static void compileTimeAssertions() noexcept {
  332|  26.0k|        BeLePolicy::compileTimeAssertions();
  333|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Ehdr) == 64)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  334|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Phdr) == 56)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  335|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Shdr) == 64)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  336|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Dyn) == 16)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  337|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Rel) == 16)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  338|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Rela) == 24)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  339|  26.0k|        COMPILE_TIME_ASSERT(sizeof(Sym) == 24)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  340|  26.0k|        COMPILE_TIME_ASSERT(sizeof(External_Note) == 12)
  ------------------
  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  341|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Ehdr)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  342|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Phdr)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  343|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Shdr)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  344|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Dyn)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  345|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Rel)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  346|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Rela)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  347|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(Sym)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  348|  26.0k|        COMPILE_TIME_ASSERT_ALIGNED1(External_Note)
  ------------------
  |  |  446|  26.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  349|  26.0k|    }

_ZN7PackExeC2EP9InputFile:
   49|  13.1k|PackExe::PackExe(InputFile *f) : super(f) {
   50|  13.1k|    bele = &N_BELE_RTP::le_policy;
   51|  13.1k|    COMPILE_TIME_ASSERT(sizeof(exe_header_t) == 32)
  ------------------
  |  |  247|  13.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  13.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   52|  13.1k|    COMPILE_TIME_ASSERT_ALIGNED1(exe_header_t)
  ------------------
  |  |  446|  13.1k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  13.1k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  13.1k|    {                                                                                              \
  |  |  |  |  |  |  429|  13.1k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  13.1k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  13.1k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  13.1k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  13.1k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  13.1k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  13.1k|        };                                                                                         \
  |  |  |  |  |  |  436|  13.1k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  13.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  13.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  13.1k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  13.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  13.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  13.1k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  13.1k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  13.1k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  13.1k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  13.1k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  13.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  13.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  13.1k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  13.1k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  13.1k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   53|  13.1k|}
_ZN7PackExe14readFileHeaderEv:
  216|  13.1k|int PackExe::readFileHeader() {
  217|  13.1k|    ih_exesize = ih_imagesize = ih_overlay = 0;
  218|  13.1k|    fi->readx(&ih, sizeof(ih));
  219|  13.1k|    if (ih.ident != 'M' + 'Z' * 256 && ih.ident != 'Z' + 'M' * 256)
  ------------------
  |  Branch (219:9): [True: 12.9k, False: 200]
  |  Branch (219:40): [True: 12.9k, False: 1]
  ------------------
  220|  12.9k|        return 0;
  221|    201|    ih_exesize = ih.m512 + ih.p512 * 512 - (ih.m512 ? 512 : 0);
  ------------------
  |  Branch (221:45): [True: 115, False: 86]
  ------------------
  222|    201|    if (ih_exesize == 0)
  ------------------
  |  Branch (222:9): [True: 61, False: 140]
  ------------------
  223|     61|        ih_exesize = file_size;
  224|    201|    ih_imagesize = ih_exesize - ih.headsize16 * 16;
  225|    201|    ih_overlay = file_size - ih_exesize;
  226|    201|    if (file_size_u < sizeof(ih) || ((ih.m512 | ih.p512) && ih.m512 + ih.p512 * 512u < sizeof(ih)))
  ------------------
  |  Branch (226:9): [True: 0, False: 201]
  |  Branch (226:38): [True: 143, False: 58]
  |  Branch (226:61): [True: 3, False: 140]
  ------------------
  227|      3|        throwCantPack("illegal exe header");
  228|    198|    if (ih_exesize > file_size_u || ih_imagesize < 4 || ih_imagesize > ih_exesize)
  ------------------
  |  Branch (228:9): [True: 83, False: 115]
  |  Branch (228:37): [True: 3, False: 112]
  |  Branch (228:57): [True: 27, False: 85]
  ------------------
  229|    113|        throwCantPack("exe header corrupted");
  230|     85|    NO_printf("dos/exe header: %d %d %d\n", ih_exesize, ih_imagesize, ih_overlay);
  231|     85|    return UPX_F_DOS_EXE;
  ------------------
  |  |  553|     85|#define UPX_F_DOS_EXE             3
  ------------------
  232|    198|}
_ZN7PackExe9canUnpackEv:
  577|  13.1k|tribool PackExe::canUnpack() {
  578|  13.1k|    if (!readFileHeader())
  ------------------
  |  Branch (578:9): [True: 12.9k, False: 201]
  ------------------
  579|  12.9k|        return false;
  580|    201|    const unsigned off = ih.headsize16 * 16;
  581|    201|    fi->seek(off, SEEK_SET);
  582|    201|    bool b = readPackHeader(4096);
  583|    201|    return b && (off + ph.c_len <= file_size_u);
  ------------------
  |  Branch (583:12): [True: 53, False: 148]
  |  Branch (583:17): [True: 52, False: 1]
  ------------------
  584|  13.1k|}
_ZN7PackExe6unpackEP10OutputFile:
  590|     52|void PackExe::unpack(OutputFile *fo) {
  591|     52|    ibuf.alloc(file_size);
  592|     52|    obuf.allocForDecompression(ph.u_len);
  593|       |
  594|       |    // read the file
  595|     52|    fi->seek(ih.headsize16 * 16, SEEK_SET);
  596|     52|    fi->readx(ibuf, ih_imagesize);
  597|       |
  598|       |    // get compressed data offset
  599|     52|    unsigned e_len = ph.buf_offset + ph.getPackHeaderSize();
  600|     52|    if (ih_imagesize <= e_len + ph.c_len)
  ------------------
  |  Branch (600:9): [True: 13, False: 39]
  ------------------
  601|     13|        throwCantUnpack("file damaged");
  602|       |
  603|     39|    checkOverlay(ih_overlay);
  604|       |
  605|       |    // decompress
  606|     39|    decompress(ibuf + e_len, obuf);
  607|       |
  608|     39|    unsigned imagesize = ih_imagesize;
  609|     39|    imagesize -= 1;
  610|     39|    const byte flag = ibuf[imagesize];
  611|       |
  612|       |    // relocations
  613|     39|    unsigned relocnum = 0;
  614|     39|    SPAN_S_VAR(const byte, relocstart, obuf + ph.u_len, obuf);
  ------------------
  |  |  214|     39|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|     39|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     39|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|     39|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     39|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     39|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     39|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     39|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  615|     39|    MemBuffer mb_relocs;
  616|     39|    SPAN_0_VAR(byte, relocs, nullptr);
  ------------------
  |  |  212|     39|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|     39|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|     39|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|     39|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     39|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     39|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     39|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     39|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  617|     39|    if (!(flag & NORELOC)) {
  ------------------
  |  Branch (617:9): [True: 0, False: 39]
  ------------------
  618|      0|        mb_relocs.alloc(4 * MAXRELOCSIZE);
  ------------------
  |  |   41|      0|#define MAXRELOCSIZE (0x8000 - MAXMATCH)
  |  |  ------------------
  |  |  |  |   40|      0|#define MAXMATCH     0x2000
  |  |  ------------------
  ------------------
  619|      0|        relocs = SPAN_S_MAKE(byte, mb_relocs); // => now a SPAN_S
  ------------------
  |  |  210|      0|#define SPAN_S_MAKE     XSPAN_S_MAKE
  |  |  ------------------
  |  |  |  |   97|      0|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      0|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      0|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      0|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      0|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  620|       |
  621|      0|        relocsize = get_le16(obuf + ph.u_len - 2);
  622|      0|        ph.u_len -= 2;
  623|      0|        if (relocsize < 11 || relocsize > MAXRELOCSIZE || relocsize >= imagesize)
  ------------------
  |  |   41|      0|#define MAXRELOCSIZE (0x8000 - MAXMATCH)
  |  |  ------------------
  |  |  |  |   40|      0|#define MAXMATCH     0x2000
  |  |  ------------------
  ------------------
  |  Branch (623:13): [True: 0, False: 0]
  |  Branch (623:31): [True: 0, False: 0]
  |  Branch (623:59): [True: 0, False: 0]
  ------------------
  624|      0|            throwCantUnpack("bad relocations");
  625|      0|        relocstart -= relocsize;
  626|       |
  627|       |        // unoptimize_relocs
  628|      0|        unsigned ones = get_le16(relocstart);
  629|      0|        const unsigned seg_high = get_le16(relocstart + 2);
  630|      0|        SPAN_S_VAR(const byte, p, relocstart + 4);
  ------------------
  |  |  214|      0|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      0|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      0|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      0|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      0|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      0|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  631|      0|        unsigned es = 0;
  632|      0|        while (ones) {
  ------------------
  |  Branch (632:16): [True: 0, False: 0]
  ------------------
  633|      0|            unsigned di = get_le16(p);
  634|      0|            es += get_le16(p + 2);
  635|      0|            bool dorel = true;
  636|      0|            for (p += 4; ones && di < 0x10000; p++) {
  ------------------
  |  Branch (636:26): [True: 0, False: 0]
  |  Branch (636:34): [True: 0, False: 0]
  ------------------
  637|      0|                if (dorel) {
  ------------------
  |  Branch (637:21): [True: 0, False: 0]
  ------------------
  638|      0|                    set_le16(relocs + (4 * relocnum + 0), di);
  639|      0|                    set_le16(relocs + (4 * relocnum + 2), es);
  640|      0|                    NO_printf("dos/exe unreloc %4d %6x\n", relocnum, es * 16 + di);
  641|      0|                    relocnum++;
  642|      0|                }
  643|      0|                dorel = true;
  644|      0|                if (*p == 0) {
  ------------------
  |  Branch (644:21): [True: 0, False: 0]
  ------------------
  645|      0|                    SPAN_S_VAR(const byte, q, obuf + (es * 16 + di), obuf);
  ------------------
  |  |  214|      0|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      0|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      0|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      0|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      0|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      0|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  646|      0|                    while (!(*q == 0x9a && get_le16(q + 3) <= seg_high))
  ------------------
  |  Branch (646:28): [True: 0, False: 0]
  |  Branch (646:30): [True: 0, False: 0]
  |  Branch (646:44): [True: 0, False: 0]
  ------------------
  647|      0|                        q++;
  648|      0|                    di = ptr_udiff_bytes(q, obuf + (es * 16)) + 3;
  649|      0|                } else if (*p == 1) {
  ------------------
  |  Branch (649:28): [True: 0, False: 0]
  ------------------
  650|      0|                    di += 254;
  651|      0|                    if (di < 0x10000)
  ------------------
  |  Branch (651:25): [True: 0, False: 0]
  ------------------
  652|      0|                        ones--;
  653|      0|                    dorel = false;
  654|      0|                } else
  655|      0|                    di += *p;
  656|      0|            }
  657|      0|        }
  658|      0|    }
  659|       |
  660|       |    // fill new exe header
  661|     39|    mem_clear(&oh);
  662|     39|    oh.ident = 'M' + 'Z' * 256;
  663|       |
  664|     39|    if (relocnum) {
  ------------------
  |  Branch (664:9): [True: 0, False: 39]
  ------------------
  665|      0|        oh.relocs = relocnum;
  666|      0|        while (relocnum & 3) // paragraph align
  ------------------
  |  Branch (666:16): [True: 0, False: 0]
  ------------------
  667|      0|            set_le32(relocs + (4 * relocnum++), 0);
  668|      0|    }
  669|       |
  670|     39|    unsigned outputlen = sizeof(oh) + 4 * relocnum + ptr_udiff_bytes(relocstart, obuf);
  671|     39|    oh.m512 = outputlen & 511;
  672|     39|    oh.p512 = (outputlen + 511) >> 9;
  673|     39|    oh.headsize16 = 2 + relocnum / 4;
  674|       |
  675|     39|    oh.max = ih.max;
  676|     39|    oh.min = ih.min;
  677|     39|    oh.sp = ih.sp;
  678|     39|    oh.ss = ih.ss;
  679|       |
  680|     39|    if (flag & MAXMEM) {
  ------------------
  |  Branch (680:9): [True: 0, False: 39]
  ------------------
  681|      0|        imagesize -= 2;
  682|      0|        oh.max = get_le16(ibuf + imagesize);
  683|      0|    }
  684|     39|    if (flag & MINMEM) {
  ------------------
  |  Branch (684:9): [True: 0, False: 39]
  ------------------
  685|      0|        imagesize -= 2;
  686|      0|        oh.min = get_le16(ibuf + imagesize);
  687|      0|    }
  688|     39|    if (flag & SP) {
  ------------------
  |  Branch (688:9): [True: 0, False: 39]
  ------------------
  689|      0|        imagesize -= 2;
  690|      0|        oh.sp = get_le16(ibuf + imagesize);
  691|      0|    }
  692|     39|    if (flag & SS) {
  ------------------
  |  Branch (692:9): [True: 0, False: 39]
  ------------------
  693|      0|        imagesize -= 2;
  694|      0|        oh.ss = get_le16(ibuf + imagesize);
  695|      0|    }
  696|       |
  697|     39|    unsigned ip = (flag & USEJUMP) ? get_le32(ibuf + imagesize - 4) : (unsigned) ih.firstreloc;
  ------------------
  |  Branch (697:19): [True: 0, False: 39]
  ------------------
  698|     39|    oh.ip = ip & 0xffff;
  699|     39|    oh.cs = ip >> 16;
  700|       |
  701|     39|    oh.relocoffs = sizeof(oh);
  702|     39|    oh.firstreloc = 0;
  703|     39|    if (!fo)
  ------------------
  |  Branch (703:9): [True: 0, False: 39]
  ------------------
  704|      0|        return;
  705|       |
  706|       |    // write header + relocations + uncompressed file
  707|     39|    fo->write(&oh, sizeof(oh));
  708|     39|    if (relocnum)
  ------------------
  |  Branch (708:9): [True: 0, False: 39]
  ------------------
  709|      0|        fo->write(relocs, 4 * relocnum);
  710|     39|    fo->write(obuf, ptr_udiff_bytes(relocstart, obuf));
  711|       |
  712|       |    // copy the overlay
  713|     39|    copyOverlay(fo, ih_overlay, obuf);
  714|     39|}

_ZNK7PackExe10getVersionEv:
   39|  13.2k|    virtual int getVersion() const override { return 13; }
_ZNK7PackExe9getFormatEv:
   40|  13.1k|    virtual int getFormat() const override { return UPX_F_DOS_EXE; }
  ------------------
  |  |  553|  13.1k|#define UPX_F_DOS_EXE             3
  ------------------
_ZNK7PackExe16canUnpackVersionEi:
   53|     62|    virtual bool canUnpackVersion(int version) const override {
   54|       |        // NOTE: could adapt p_exe.cpp to support (version >= 8)
   55|     62|        return (version >= 10);
   56|     62|    }
_ZNK7PackExe15canUnpackFormatEi:
   57|     61|    virtual bool canUnpackFormat(int format) const override {
   58|     61|        return (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH);
  ------------------
  |  |  553|    122|#define UPX_F_DOS_EXE             3
  ------------------
                      return (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH);
  ------------------
  |  |  557|     48|#define UPX_F_DOS_EXEH            7 // OBSOLETE
  ------------------
  |  Branch (58:17): [True: 13, False: 48]
  |  Branch (58:44): [True: 40, False: 8]
  ------------------
   59|     61|    }

_ZNK14PackLinuxElf329checkEhdrEPKN5N_Elf4EhdrINS0_9ElfITypesI4LE164LE32S4_S4_S4_EEEE:
  153|  90.3k|{
  154|  90.3k|    const unsigned char * const buf = ehdr->e_ident;
  155|       |
  156|  90.3k|    if (0!=memcmp(buf, "\x7f\x45\x4c\x46", 4)  // "\177ELF"
  ------------------
  |  Branch (156:9): [True: 42.2k, False: 48.1k]
  ------------------
  157|  48.1k|    ||  buf[Elf32_Ehdr::EI_CLASS]!=ei_class
  ------------------
  |  Branch (157:9): [True: 21.1k, False: 26.9k]
  ------------------
  158|  26.9k|    ||  buf[Elf32_Ehdr::EI_DATA] !=ei_data
  ------------------
  |  Branch (158:9): [True: 14.6k, False: 12.2k]
  ------------------
  159|  90.3k|    ) {
  160|  78.0k|        return -1;
  161|  78.0k|    }
  162|  12.2k|    if (!memcmp(buf+8, "FreeBSD", 7))                   // branded
  ------------------
  |  Branch (162:9): [True: 48, False: 12.2k]
  ------------------
  163|     48|        return 1;
  164|       |
  165|  12.2k|    int const type = get_te16(&ehdr->e_type);
  166|  12.2k|    if (type != Elf32_Ehdr::ET_EXEC && type != Elf32_Ehdr::ET_DYN)
  ------------------
  |  Branch (166:9): [True: 2.22k, False: 10.0k]
  |  Branch (166:40): [True: 1.28k, False: 939]
  ------------------
  167|  1.28k|        return 2;
  168|  10.9k|    if (get_te16(&ehdr->e_machine) != (unsigned) e_machine)
  ------------------
  |  Branch (168:9): [True: 2.61k, False: 8.33k]
  ------------------
  169|  2.61k|        return 3;
  170|  8.33k|    if (get_te32(&ehdr->e_version) != Elf32_Ehdr::EV_CURRENT)
  ------------------
  |  Branch (170:9): [True: 529, False: 7.80k]
  ------------------
  171|    529|        return 4;
  172|  7.80k|    if (e_phnum < 1)
  ------------------
  |  Branch (172:9): [True: 518, False: 7.28k]
  ------------------
  173|    518|        return 5;
  174|  7.28k|    if (get_te16(&ehdr->e_phentsize) != sizeof(Elf32_Phdr))
  ------------------
  |  Branch (174:9): [True: 175, False: 7.11k]
  ------------------
  175|    175|        return 6;
  176|       |
  177|  7.11k|    if (type == Elf32_Ehdr::ET_EXEC) {
  ------------------
  |  Branch (177:9): [True: 6.73k, False: 379]
  ------------------
  178|       |        // check for Linux kernels
  179|  6.73k|        unsigned const entry = get_te32(&ehdr->e_entry);
  180|  6.73k|        if (entry == 0xC0100000)    // uncompressed vmlinux
  ------------------
  |  Branch (180:13): [True: 5, False: 6.73k]
  ------------------
  181|      5|            return 1000;
  182|  6.73k|        if (entry == 0x00001000)    // compressed vmlinux
  ------------------
  |  Branch (182:13): [True: 5, False: 6.72k]
  ------------------
  183|      5|            return 1001;
  184|  6.72k|        if (entry == 0x00100000)    // compressed bvmlinux
  ------------------
  |  Branch (184:13): [True: 5, False: 6.72k]
  ------------------
  185|      5|            return 1002;
  186|  6.72k|    }
  187|       |
  188|       |    // FIXME: add more checks for kernels
  189|       |
  190|       |    // FIXME: add special checks for other ELF i386 formats, like
  191|       |    //        NetBSD, OpenBSD, Solaris, ....
  192|       |
  193|       |    // success
  194|  7.09k|    return 0;
  195|  7.11k|}
_ZNK14PackLinuxElf649checkEhdrEPKN5N_Elf4EhdrINS0_9ElfITypesI4LE164LE324LE64S5_S5_EEEE:
  199|  40.2k|{
  200|  40.2k|    const unsigned char * const buf = ehdr->e_ident;
  201|  40.2k|    unsigned char osabi0 = buf[Elf32_Ehdr::EI_OSABI];
  202|  40.2k|    if (0==osabi0) {
  ------------------
  |  Branch (202:9): [True: 14.3k, False: 25.9k]
  ------------------
  203|  14.3k|        osabi0 = opt->o_unix.osabi0;
  204|  14.3k|    }
  205|       |
  206|  40.2k|    if (0!=memcmp(buf, "\x7f\x45\x4c\x46", 4)  // "\177ELF"
  ------------------
  |  Branch (206:9): [True: 23.4k, False: 16.7k]
  ------------------
  207|  16.7k|    ||  buf[Elf64_Ehdr::EI_CLASS]!=ei_class
  ------------------
  |  Branch (207:9): [True: 9.18k, False: 7.60k]
  ------------------
  208|  7.60k|    ||  buf[Elf64_Ehdr::EI_DATA] !=ei_data
  ------------------
  |  Branch (208:9): [True: 2.95k, False: 4.64k]
  ------------------
  209|  4.64k|    ||                     osabi0!=ei_osabi
  ------------------
  |  Branch (209:28): [True: 546, False: 4.10k]
  ------------------
  210|  40.2k|    ) {
  211|  36.1k|        return -1;
  212|  36.1k|    }
  213|  4.10k|    if (!memcmp(buf+8, "FreeBSD", 7))                   // branded
  ------------------
  |  Branch (213:9): [True: 14, False: 4.08k]
  ------------------
  214|     14|        return 1;
  215|       |
  216|  4.08k|    int const type = get_te16(&ehdr->e_type);
  217|  4.08k|    if (type != Elf64_Ehdr::ET_EXEC && type != Elf64_Ehdr::ET_DYN)
  ------------------
  |  Branch (217:9): [True: 2.17k, False: 1.91k]
  |  Branch (217:40): [True: 1.71k, False: 457]
  ------------------
  218|  1.71k|        return 2;
  219|  2.37k|    if (get_te16(&ehdr->e_machine) != (unsigned) e_machine)
  ------------------
  |  Branch (219:9): [True: 907, False: 1.46k]
  ------------------
  220|    907|        return 3;
  221|  1.46k|    if (get_te32(&ehdr->e_version) != Elf64_Ehdr::EV_CURRENT)
  ------------------
  |  Branch (221:9): [True: 40, False: 1.42k]
  ------------------
  222|     40|        return 4;
  223|  1.42k|    if (e_phnum < 1)
  ------------------
  |  Branch (223:9): [True: 2, False: 1.42k]
  ------------------
  224|      2|        return 5;
  225|  1.42k|    if (get_te16(&ehdr->e_phentsize) != sizeof(Elf64_Phdr))
  ------------------
  |  Branch (225:9): [True: 42, False: 1.38k]
  ------------------
  226|     42|        return 6;
  227|       |
  228|  1.38k|    if (type == Elf64_Ehdr::ET_EXEC) {
  ------------------
  |  Branch (228:9): [True: 1.26k, False: 114]
  ------------------
  229|       |        // check for Linux kernels
  230|  1.26k|        upx_uint64_t const entry = get_te64(&ehdr->e_entry);
  231|  1.26k|        if (entry == 0xC0100000)    // uncompressed vmlinux
  ------------------
  |  Branch (231:13): [True: 1, False: 1.26k]
  ------------------
  232|      1|            return 1000;
  233|  1.26k|        if (entry == 0x00001000)    // compressed vmlinux
  ------------------
  |  Branch (233:13): [True: 1, False: 1.26k]
  ------------------
  234|      1|            return 1001;
  235|  1.26k|        if (entry == 0x00100000)    // compressed bvmlinux
  ------------------
  |  Branch (235:13): [True: 1, False: 1.26k]
  ------------------
  236|      1|            return 1002;
  237|  1.26k|    }
  238|       |
  239|       |    // FIXME: add more checks for kernels
  240|       |
  241|       |    // FIXME: add special checks for other ELF i386 formats, like
  242|       |    //        NetBSD, OpenBSD, Solaris, ....
  243|       |
  244|       |    // success
  245|  1.37k|    return 0;
  246|  1.38k|}
_ZN12PackLinuxElfC2EP9InputFile:
  249|   133k|    : super(f), e_phnum(0), dynstr(nullptr),
  250|   133k|    sz_phdrs(0), sz_elf_hdrs(0), sz_pack2(0), sz_pack2a(0),
  251|   133k|    lg2_page(12), page_size(1u<<lg2_page), is_pie(0), is_asl(0),
  252|   133k|    xct_off(0), o_binfo(0), so_slide(0), xct_va(0), jni_onload_va(0),
  253|   133k|    user_init_va(0), user_init_off(0),
  254|   133k|    e_machine(0), ei_class(0), ei_data(0), ei_osabi(0), osabi_note(nullptr),
  255|   133k|    shstrtab(nullptr),
  256|   133k|    o_elf_shnum(0)
  257|   133k|{
  258|   133k|    memset(dt_table, 0, sizeof(dt_table));
  259|   133k|    symnum_max = 0;
  260|   133k|    user_init_rp = nullptr;
  261|   133k|}
_ZN12PackLinuxElfD2Ev:
  264|   133k|{
  265|   133k|}
_ZNK14PackLinuxElf327is_LOADEPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEE:
  268|  52.6k|{
  269|       |    // (1+ PT_LOPROC) can confuse!
  270|  52.6k|    return PT_LOAD == get_te32(&phdr->p_type);
  ------------------
  |  |   56|  52.6k|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  271|  52.6k|}
_ZNK14PackLinuxElf647is_LOADEPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEE:
  274|  41.6k|{
  275|       |    // (1+ PT_LOPROC) can confuse!
  276|  41.6k|    return PT_LOAD == get_te32(&phdr->p_type);
  ------------------
  |  |   56|  41.6k|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  277|  41.6k|}
_ZN14PackLinuxElf3219PackLinuxElf32help1EP9InputFile:
  281|  91.9k|{
  282|  91.9k|    e_type  = get_te16(&ehdri.e_type);
  283|  91.9k|    e_phnum = get_te16(&ehdri.e_phnum);
  284|  91.9k|    e_shnum = get_te16(&ehdri.e_shnum);
  285|  91.9k|    unsigned const e_phentsize = get_te16(&ehdri.e_phentsize);
  286|  91.9k|    if (memcmp((char const *)&ehdri, "\x7f\x45\x4c\x46", 4)  // "\177ELF"
  ------------------
  |  Branch (286:9): [True: 42.2k, False: 49.7k]
  ------------------
  287|  49.7k|    || ehdri.e_ident[Elf32_Ehdr::EI_CLASS]!=Elf32_Ehdr::ELFCLASS32
  ------------------
  |  Branch (287:8): [True: 21.1k, False: 28.5k]
  ------------------
  288|  28.5k|    || sizeof(Elf32_Phdr) != e_phentsize
  ------------------
  |  Branch (288:8): [True: 17.4k, False: 11.1k]
  ------------------
  289|  11.1k|    || (Elf32_Ehdr::ELFDATA2MSB == ehdri.e_ident[Elf32_Ehdr::EI_DATA]
  ------------------
  |  Branch (289:9): [True: 3.06k, False: 8.06k]
  ------------------
  290|  3.06k|            && &N_BELE_RTP::be_policy != bele)
  ------------------
  |  Branch (290:16): [True: 48, False: 3.01k]
  ------------------
  291|  11.0k|    || (Elf32_Ehdr::ELFDATA2LSB == ehdri.e_ident[Elf32_Ehdr::EI_DATA]
  ------------------
  |  Branch (291:9): [True: 7.92k, False: 3.14k]
  ------------------
  292|  80.8k|            && &N_BELE_RTP::le_policy != bele)) {
  ------------------
  |  Branch (292:16): [True: 6, False: 7.92k]
  ------------------
  293|  80.8k|        e_phoff = 0;
  294|  80.8k|        e_shoff = 0;
  295|  80.8k|        sz_phdrs = 0;
  296|  80.8k|        return;
  297|  80.8k|    }
  298|  11.0k|    if (0==e_phnum) throwCantUnpack("0==e_phnum");
  ------------------
  |  Branch (298:9): [True: 1, False: 11.0k]
  ------------------
  299|  11.0k|    e_phoff = get_te32(&ehdri.e_phoff);
  300|  11.0k|    unsigned const last_Phdr = e_phoff + e_phnum * usizeof(Elf32_Phdr);
  ------------------
  |  |  509|  11.0k|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
  301|  11.0k|    if (last_Phdr < e_phoff  // wrap-around
  ------------------
  |  Branch (301:9): [True: 33, False: 11.0k]
  ------------------
  302|  11.0k|    ||  e_phoff != sizeof(Elf32_Ehdr)  // must be contiguous
  ------------------
  |  Branch (302:9): [True: 476, False: 10.5k]
  ------------------
  303|  10.5k|    ||  (unsigned long)file_size < last_Phdr) {
  ------------------
  |  Branch (303:9): [True: 16, False: 10.5k]
  ------------------
  304|    525|        throwCantUnpack("bad e_phoff %#x", e_phoff);
  305|    525|    }
  306|  10.5k|    e_shoff = get_te32(&ehdri.e_shoff);
  307|  10.5k|    e_shstrndx = get_te16(&ehdri.e_shstrndx);
  308|  10.5k|    unsigned const last_Shdr = e_shoff + e_shnum * usizeof(Elf32_Shdr);
  ------------------
  |  |  509|  10.5k|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
  309|  10.5k|    if (last_Shdr < e_shoff  // wrap-around
  ------------------
  |  Branch (309:9): [True: 236, False: 10.3k]
  ------------------
  310|  10.3k|    ||  (e_shnum && e_shoff < last_Phdr)
  ------------------
  |  Branch (310:10): [True: 6.13k, False: 4.17k]
  |  Branch (310:21): [True: 2.29k, False: 3.84k]
  ------------------
  311|  8.01k|    ||  (unsigned long)file_size < last_Shdr) {
  ------------------
  |  Branch (311:9): [True: 4.10k, False: 3.90k]
  ------------------
  312|  6.63k|        if (opt->cmd == CMD_COMPRESS) {
  ------------------
  |  Branch (312:13): [True: 0, False: 6.63k]
  ------------------
  313|      0|            throwCantUnpack("bad e_shoff %#x", e_shoff);
  314|      0|        }
  315|  6.63k|    }
  316|  10.5k|    sz_phdrs = e_phnum * e_phentsize;
  317|  10.5k|    sz_elf_hdrs = sz_phdrs + sizeof(Elf32_Ehdr) +
  318|  10.5k|        n_phdrx * sizeof(Elf32_Phdr);  // phdrx bodies later: ::generateElfHdr
  319|       |
  320|  10.5k|    if (f && Elf32_Ehdr::ET_DYN!=e_type) {
  ------------------
  |  Branch (320:9): [True: 10.5k, False: 0]
  |  Branch (320:14): [True: 8.44k, False: 2.09k]
  ------------------
  321|  8.44k|        unsigned const len = file_size;  // (sz_phdrs + e_phoff) except --preserve-build-id
  322|  8.44k|        alloc_file_image(file_image, len);
  323|  8.44k|        f->seek(0, SEEK_SET);
  324|  8.44k|        f->readx(file_image, len);
  325|  8.44k|        phdri= (Elf32_Phdr       *)(e_phoff + file_image);  // do not free() !!
  326|  8.44k|    }
  327|  10.5k|    if (f && Elf32_Ehdr::ET_DYN==e_type) {
  ------------------
  |  Branch (327:9): [True: 10.5k, False: 0]
  |  Branch (327:14): [True: 2.09k, False: 8.44k]
  ------------------
  328|       |        // The DT_SYMTAB has no designated length.  Read the whole file.
  329|  2.09k|        alloc_file_image(file_image, file_size);
  330|  2.09k|        f->seek(0, SEEK_SET);
  331|  2.09k|        f->readx(file_image, file_size);
  332|  2.09k|        phdri= (Elf32_Phdr *)(e_phoff + file_image);  // do not free() !!
  333|  2.09k|        if (opt->cmd != CMD_COMPRESS || !e_shoff ||  file_size < e_shoff) {
  ------------------
  |  Branch (333:13): [True: 2.09k, False: 0]
  |  Branch (333:41): [True: 0, False: 0]
  |  Branch (333:54): [True: 0, False: 0]
  ------------------
  334|  2.09k|            shdri = nullptr;
  335|  2.09k|        }
  336|      0|        else {  // FIXME: copy from file_image ?
  337|      0|            fi->seek(e_shoff, SEEK_SET);
  338|      0|            if (mb_shdr.getSize() != sizeof(Elf32_Shdr) * e_shnum) {
  ------------------
  |  Branch (338:17): [True: 0, False: 0]
  ------------------
  339|      0|                mb_shdr.alloc(   sizeof(Elf32_Shdr) * e_shnum);
  340|      0|            }
  341|      0|            shdri = (Elf32_Shdr *)mb_shdr.getVoidPtr();
  342|      0|            fi->readx(shdri, sizeof(Elf32_Shdr) * e_shnum);
  343|      0|        }
  344|  2.09k|        sec_dynsym = elf_find_section_type(Elf32_Shdr::SHT_DYNSYM);
  345|  2.09k|        if (sec_dynsym) {
  ------------------
  |  Branch (345:13): [True: 0, False: 2.09k]
  ------------------
  346|      0|            unsigned t = get_te32(&sec_dynsym->sh_link);
  347|      0|            if (e_shnum <= t)
  ------------------
  |  Branch (347:17): [True: 0, False: 0]
  ------------------
  348|      0|                throwCantPack("bad dynsym->sh_link");
  349|      0|            sec_dynstr = &shdri[t];
  350|      0|        }
  351|       |
  352|  2.09k|        Elf32_Phdr const *phdr= phdri;
  353|  15.6k|        for (int j = e_phnum; --j>=0; ++phdr)
  ------------------
  |  Branch (353:31): [True: 13.5k, False: 2.09k]
  ------------------
  354|  13.5k|        if (Elf32_Phdr::PT_DYNAMIC==get_te32(&phdr->p_type)) {
  ------------------
  |  Branch (354:13): [True: 1.21k, False: 12.3k]
  ------------------
  355|  1.21k|            unsigned offset = check_pt_dynamic(phdr);
  356|  1.21k|            dynseg= (Elf32_Dyn *)(offset + file_image);
  357|  1.21k|            invert_pt_dynamic(dynseg,
  358|  1.21k|                umin(get_te32(&phdr->p_filesz), (unsigned)(file_size_u - offset)));
  359|  1.21k|        }
  360|  12.3k|        else if (is_LOAD(phdr)) {
  ------------------
  |  Branch (360:18): [True: 1.58k, False: 10.7k]
  ------------------
  361|  1.58k|            check_pt_load(phdr);
  362|  1.58k|        }
  363|       |        // elf_find_dynamic() returns 0 if 0==dynseg.
  364|  2.09k|        dynstr =          (char const *)elf_find_dynamic(Elf32_Dyn::DT_STRTAB);
  365|  2.09k|        dynsym = (Elf32_Sym /*const*/ *)elf_find_dynamic(Elf32_Dyn::DT_SYMTAB);
  366|  2.09k|        gashtab =     (unsigned const *)elf_find_dynamic(Elf32_Dyn::DT_GNU_HASH);
  367|  2.09k|        hashtab =     (unsigned const *)elf_find_dynamic(Elf32_Dyn::DT_HASH);
  368|  2.09k|        if (3& ((upx_uintptr_t)dynsym | (upx_uintptr_t)gashtab | (upx_uintptr_t)hashtab)) {
  ------------------
  |  Branch (368:13): [True: 16, False: 2.08k]
  ------------------
  369|     16|            throwCantPack("unaligned DT_SYMTAB, DT_GNU_HASH, or DT_HASH/n");
  370|     16|        }
  371|  2.08k|        if (opt->cmd == CMD_COMPRESS) {
  ------------------
  |  Branch (371:13): [True: 0, False: 2.08k]
  ------------------
  372|      0|            jni_onload_sym = elf_lookup("JNI_OnLoad");
  373|      0|            if (jni_onload_sym) {
  ------------------
  |  Branch (373:17): [True: 0, False: 0]
  ------------------
  374|      0|                jni_onload_va = get_te32(&jni_onload_sym->st_value);
  375|      0|                jni_onload_va = 0;  // FIXME not understood; need example
  376|      0|            }
  377|      0|        }
  378|  2.08k|    }
  379|  10.5k|}
_ZN14PackLinuxElf3220elf_find_Phdr_for_vaEjPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEEj:
  459|  3.96k|{
  460|  16.6k|    for (unsigned j = 0; j < phnum; ++j, ++phdr) {
  ------------------
  |  Branch (460:26): [True: 16.4k, False: 200]
  ------------------
  461|  16.4k|        u32_t align = get_te32(&phdr->p_align);
  462|  16.4k|        if (is_LOAD(phdr)
  ------------------
  |  Branch (462:13): [True: 5.00k, False: 11.4k]
  ------------------
  463|  5.00k|        && is_pow2(align) && !((-1+ align) &
  ------------------
  |  Branch (463:12): [True: 4.75k, False: 246]
  |  Branch (463:30): [True: 4.52k, False: 231]
  ------------------
  464|  4.75k|            (get_te32(&phdr->p_vaddr) ^ get_te32(&phdr->p_offset)))
  465|  4.52k|        &&  (addr - get_te32(&phdr->p_vaddr)) < get_te32(&phdr->p_filesz)) {
  ------------------
  |  Branch (465:13): [True: 3.76k, False: 754]
  ------------------
  466|  3.76k|            return phdr;
  467|  3.76k|        }
  468|  16.4k|    }
  469|    200|    return nullptr;
  470|  3.96k|}
_ZN14PackLinuxElf6420elf_find_Phdr_for_vaEyPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEEj:
  474|  4.19k|{
  475|  15.0k|    for (unsigned j = 0; j < phnum; ++j, ++phdr) {
  ------------------
  |  Branch (475:26): [True: 14.9k, False: 182]
  ------------------
  476|  14.9k|        u64_t align = get_te64(&phdr->p_align);
  477|  14.9k|        if (is_LOAD(phdr)
  ------------------
  |  Branch (477:13): [True: 5.08k, False: 9.81k]
  ------------------
  478|  5.08k|        && is_pow2(align) && !((-1+ align) &
  ------------------
  |  Branch (478:12): [True: 4.57k, False: 512]
  |  Branch (478:30): [True: 4.35k, False: 215]
  ------------------
  479|  4.57k|            (get_te64(&phdr->p_vaddr) ^ get_te64(&phdr->p_offset)))
  480|  4.35k|        &&  (addr - get_te64(&phdr->p_vaddr)) < get_te64(&phdr->p_filesz)) {
  ------------------
  |  Branch (480:13): [True: 4.01k, False: 341]
  ------------------
  481|  4.01k|            return phdr;
  482|  4.01k|        }
  483|  14.9k|    }
  484|    182|    return nullptr;
  485|  4.19k|}
_ZN14PackLinuxElf32C2EP9InputFile:
 1037|  91.5k|    : super(f), phdri(nullptr), shdri(nullptr),
 1038|  91.5k|    n_phdrx(0), sz_phdrx(0),
 1039|  91.5k|    page_mask(~0u<<lg2_page),
 1040|  91.5k|    dynseg(nullptr), hashtab(nullptr), hashend(nullptr),
 1041|  91.5k|                     gashtab(nullptr), gashend(nullptr), dynsym(nullptr),
 1042|  91.5k|    jni_onload_sym(nullptr),
 1043|  91.5k|    sec_strndx(nullptr), sec_dynsym(nullptr), sec_dynstr(nullptr)
 1044|  91.5k|    , sec_arm_attr(nullptr)
 1045|  91.5k|{
 1046|  91.5k|    memset(&ehdri, 0, sizeof(ehdri));
 1047|  91.5k|    n_jmp_slot = 0;
 1048|  91.5k|    if (f) {
  ------------------
  |  Branch (1048:9): [True: 91.5k, False: 0]
  ------------------
 1049|       |        f->seek(0, SEEK_SET);
 1050|  91.5k|        f->readx(&ehdri, sizeof(ehdri));
 1051|  91.5k|    }
 1052|  91.5k|}
_ZN14PackLinuxElf64C2EP9InputFile:
 1067|  41.6k|    : super(f), phdri(nullptr), shdri(nullptr),
 1068|  41.6k|    n_phdrx(0), sz_phdrx(0),
 1069|  41.6k|    page_mask(~0ull<<lg2_page),
 1070|  41.6k|    dynseg(nullptr), hashtab(nullptr), hashend(nullptr),
 1071|  41.6k|                     gashtab(nullptr), gashend(nullptr), dynsym(nullptr),
 1072|  41.6k|    jni_onload_sym(nullptr),
 1073|  41.6k|    sec_strndx(nullptr), sec_dynsym(nullptr), sec_dynstr(nullptr)
 1074|  41.6k|    , sec_arm_attr(nullptr)
 1075|  41.6k|{
 1076|  41.6k|    memset(&ehdri, 0, sizeof(ehdri));
 1077|  41.6k|    n_jmp_slot = 0;
 1078|  41.6k|    if (f) {
  ------------------
  |  Branch (1078:9): [True: 41.6k, False: 0]
  ------------------
 1079|       |        f->seek(0, SEEK_SET);
 1080|  41.6k|        f->readx(&ehdri, sizeof(ehdri));
 1081|  41.6k|    }
 1082|  41.6k|}
_ZN14PackLinuxElf6419PackLinuxElf64help1EP9InputFile:
 1099|  41.7k|{
 1100|  41.7k|    e_type  = get_te16(&ehdri.e_type);
 1101|  41.7k|    e_phnum = get_te16(&ehdri.e_phnum);
 1102|  41.7k|    e_shnum = get_te16(&ehdri.e_shnum);
 1103|  41.7k|    unsigned const e_phentsize = get_te16(&ehdri.e_phentsize);
 1104|  41.7k|    if (memcmp((char const *)&ehdri, "\x7f\x45\x4c\x46", 4)  // "\177ELF"
  ------------------
  |  Branch (1104:9): [True: 23.4k, False: 18.3k]
  ------------------
 1105|  18.3k|    || ehdri.e_ident[Elf64_Ehdr::EI_CLASS]!=Elf64_Ehdr::ELFCLASS64
  ------------------
  |  Branch (1105:8): [True: 9.18k, False: 9.15k]
  ------------------
 1106|  9.15k|    || sizeof(Elf64_Phdr) != e_phentsize
  ------------------
  |  Branch (1106:8): [True: 5.19k, False: 3.96k]
  ------------------
 1107|  3.96k|    || (Elf64_Ehdr::ELFDATA2MSB == ehdri.e_ident[Elf64_Ehdr::EI_DATA]
  ------------------
  |  Branch (1107:9): [True: 571, False: 3.39k]
  ------------------
 1108|    571|            && &N_BELE_RTP::be_policy != bele)
  ------------------
  |  Branch (1108:16): [True: 4, False: 567]
  ------------------
 1109|  3.96k|    || (Elf64_Ehdr::ELFDATA2LSB == ehdri.e_ident[Elf64_Ehdr::EI_DATA]
  ------------------
  |  Branch (1109:9): [True: 2.99k, False: 962]
  ------------------
 1110|  37.8k|            && &N_BELE_RTP::le_policy != bele)) {
  ------------------
  |  Branch (1110:16): [True: 2, False: 2.99k]
  ------------------
 1111|  37.8k|        e_phoff = 0;
 1112|  37.8k|        e_shoff = 0;
 1113|  37.8k|        sz_phdrs = 0;
 1114|  37.8k|        return;
 1115|  37.8k|    }
 1116|  3.95k|    if (0==e_phnum) throwCantUnpack("0==e_phnum");
  ------------------
  |  Branch (1116:9): [True: 1, False: 3.95k]
  ------------------
 1117|  3.95k|    e_phoff = get_te64(&ehdri.e_phoff);
 1118|  3.95k|    upx_uint64_t const last_Phdr = e_phoff + e_phnum * sizeof(Elf64_Phdr);
 1119|  3.95k|    if (last_Phdr < e_phoff  // wrap-around
  ------------------
  |  Branch (1119:9): [True: 2, False: 3.95k]
  ------------------
 1120|  3.95k|    ||  e_phoff != sizeof(Elf64_Ehdr)  // must be contiguous
  ------------------
  |  Branch (1120:9): [True: 81, False: 3.87k]
  ------------------
 1121|  3.87k|    ||  (unsigned long)file_size < last_Phdr) {
  ------------------
  |  Branch (1121:9): [True: 16, False: 3.85k]
  ------------------
 1122|     99|        throwCantUnpack("bad e_phoff %p", (void *)e_phoff);
 1123|     99|    }
 1124|  3.85k|    e_shoff = get_te64(&ehdri.e_shoff);
 1125|  3.85k|    upx_uint64_t const last_Shdr = e_shoff + e_shnum * sizeof(Elf64_Shdr);
 1126|  3.85k|    if (last_Shdr < e_shoff  // wrap-around
  ------------------
  |  Branch (1126:9): [True: 41, False: 3.81k]
  ------------------
 1127|  3.81k|    ||  (e_shnum && e_shoff < last_Phdr)
  ------------------
  |  Branch (1127:10): [True: 2.56k, False: 1.25k]
  |  Branch (1127:21): [True: 131, False: 2.43k]
  ------------------
 1128|  3.68k|    ||  (unsigned long)file_size < last_Shdr) {
  ------------------
  |  Branch (1128:9): [True: 2.89k, False: 790]
  ------------------
 1129|  3.06k|        if (opt->cmd == CMD_COMPRESS) {
  ------------------
  |  Branch (1129:13): [True: 0, False: 3.06k]
  ------------------
 1130|      0|            throwCantUnpack("bad e_shoff %p", (void *)e_shoff);
 1131|      0|        }
 1132|  3.06k|    }
 1133|  3.85k|    sz_phdrs = e_phnum * e_phentsize;
 1134|  3.85k|    sz_elf_hdrs = sz_phdrs + sizeof(Elf64_Ehdr) +
 1135|  3.85k|        n_phdrx * sizeof(Elf32_Phdr);  // phdrx bodies later: ::generateElfHdr
 1136|       |
 1137|  3.85k|    if (f && Elf64_Ehdr::ET_DYN!=e_type) {
  ------------------
  |  Branch (1137:9): [True: 3.85k, False: 0]
  |  Branch (1137:14): [True: 1.81k, False: 2.03k]
  ------------------
 1138|  1.81k|        unsigned const len = file_size;  // (sz_phdrs + e_phoff) except --preserve-build-id
 1139|  1.81k|        alloc_file_image(file_image, len);
 1140|  1.81k|        f->seek(0, SEEK_SET);
 1141|  1.81k|        f->readx(file_image, len);
 1142|  1.81k|        phdri= (Elf64_Phdr       *)(e_phoff + file_image);  // do not free() !!
 1143|  1.81k|    }
 1144|  3.85k|    if (f && Elf64_Ehdr::ET_DYN==e_type) {
  ------------------
  |  Branch (1144:9): [True: 3.85k, False: 0]
  |  Branch (1144:14): [True: 2.03k, False: 1.81k]
  ------------------
 1145|       |        // The DT_SYMTAB has no designated length.  Read the whole file.
 1146|  2.03k|        alloc_file_image(file_image, file_size);
 1147|  2.03k|        f->seek(0, SEEK_SET);
 1148|  2.03k|        f->readx(file_image, file_size);
 1149|  2.03k|        phdri= (file_size <= (unsigned)e_phoff) ? nullptr : (Elf64_Phdr *)(e_phoff + file_image);  // do not free() !!
  ------------------
  |  Branch (1149:16): [True: 0, False: 2.03k]
  ------------------
 1150|  2.03k|        if (!(opt->cmd == CMD_COMPRESS && e_shoff < (upx_uint64_t)file_size && mb_shdr.getSize() == 0)) {
  ------------------
  |  Branch (1150:15): [True: 0, False: 2.03k]
  |  Branch (1150:43): [True: 0, False: 0]
  |  Branch (1150:80): [True: 0, False: 0]
  ------------------
 1151|  2.03k|            shdri = nullptr;
 1152|  2.03k|        }
 1153|      0|        else if (e_shnum && e_shoff && ehdri.e_shentsize) {
  ------------------
  |  Branch (1153:18): [True: 0, False: 0]
  |  Branch (1153:29): [True: 0, False: 0]
  |  Branch (1153:40): [True: 0, False: 0]
  ------------------
 1154|      0|            fi->seek(e_shoff, SEEK_SET);
 1155|      0|            mb_shdr.alloc(   sizeof(Elf64_Shdr) * e_shnum);
 1156|      0|            shdri = (Elf64_Shdr *)mb_shdr.getVoidPtr();
 1157|      0|            fi->readx(shdri, sizeof(Elf64_Shdr) * e_shnum);
 1158|      0|        }
 1159|      0|        else {
 1160|      0|            shdri = nullptr;
 1161|      0|        }
 1162|  2.03k|        sec_dynsym = elf_find_section_type(Elf64_Shdr::SHT_DYNSYM);
 1163|  2.03k|        if (sec_dynsym) {
  ------------------
  |  Branch (1163:13): [True: 0, False: 2.03k]
  ------------------
 1164|      0|            unsigned t = get_te32(&sec_dynsym->sh_link);
 1165|      0|            if (e_shnum <= t)
  ------------------
  |  Branch (1165:17): [True: 0, False: 0]
  ------------------
 1166|      0|                throwCantPack("bad dynsym->sh_link");
 1167|      0|            sec_dynstr = &shdri[t];
 1168|      0|        }
 1169|       |
 1170|  2.03k|        Elf64_Phdr const *phdr= phdri;
 1171|  11.1k|        for (int j = e_phnum; --j>=0; ++phdr)
  ------------------
  |  Branch (1171:31): [True: 9.08k, False: 2.03k]
  ------------------
 1172|  9.08k|        if (Elf64_Phdr::PT_DYNAMIC==get_te32(&phdr->p_type)) {
  ------------------
  |  Branch (1172:13): [True: 1.73k, False: 7.35k]
  ------------------
 1173|  1.73k|            upx_uint64_t offset = check_pt_dynamic(phdr);
 1174|  1.73k|            dynseg= (Elf64_Dyn *)(offset + file_image);
 1175|  1.73k|            invert_pt_dynamic(dynseg,
 1176|  1.73k|                umin(get_te64(&phdr->p_filesz), file_size_u - offset));
 1177|  1.73k|        }
 1178|  7.35k|        else if (is_LOAD(phdr)) {
  ------------------
  |  Branch (1178:18): [True: 1.40k, False: 5.95k]
  ------------------
 1179|  1.40k|            check_pt_load(phdr);
 1180|  1.40k|        }
 1181|       |        // elf_find_dynamic() returns 0 if 0==dynseg.
 1182|  2.03k|        dynstr =          (char const *)elf_find_dynamic(Elf64_Dyn::DT_STRTAB);
 1183|  2.03k|        dynsym = (Elf64_Sym /*const*/ *)elf_find_dynamic(Elf64_Dyn::DT_SYMTAB);
 1184|  2.03k|        gashtab =     (unsigned const *)elf_find_dynamic(Elf64_Dyn::DT_GNU_HASH);
 1185|  2.03k|        hashtab =     (unsigned const *)elf_find_dynamic(Elf64_Dyn::DT_HASH);
 1186|  2.03k|        if (3& ((upx_uintptr_t)dynsym | (upx_uintptr_t)gashtab | (upx_uintptr_t)hashtab)) {
  ------------------
  |  Branch (1186:13): [True: 8, False: 2.03k]
  ------------------
 1187|      8|            throwCantPack("unaligned DT_SYMTAB, DT_GNU_HASH, or DT_HASH/n");
 1188|      8|        }
 1189|  2.03k|        if (opt->cmd == CMD_COMPRESS) {
  ------------------
  |  Branch (1189:13): [True: 0, False: 2.03k]
  ------------------
 1190|      0|            jni_onload_sym = elf_lookup("JNI_OnLoad");
 1191|      0|            if (jni_onload_sym) {
  ------------------
  |  Branch (1191:17): [True: 0, False: 0]
  ------------------
 1192|      0|                jni_onload_va = get_te64(&jni_onload_sym->st_value);
 1193|      0|                jni_onload_va = 0;  // FIXME not understood; need example
 1194|      0|            }
 1195|      0|        }
 1196|  2.03k|    }
 1197|  3.85k|}
_ZN17PackLinuxElf32ppcC2EP9InputFile:
 1344|  7.88k|    : super(f)
 1345|  7.88k|{
 1346|  7.88k|    e_machine = Elf32_Ehdr::EM_PPC;
 1347|  7.88k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 1348|  7.88k|    ei_data   = Elf32_Ehdr::ELFDATA2MSB;
 1349|  7.88k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1350|  7.88k|}
_ZN17PackLinuxElf32ppcD2Ev:
 1353|  7.88k|{
 1354|  7.88k|}
_ZN19PackLinuxElf64ppcleC2EP9InputFile:
 1362|  6.91k|    : super(f), lg2_page(16), page_size(1u<<lg2_page)
 1363|  6.91k|{
 1364|  6.91k|    e_machine = Elf64_Ehdr::EM_PPC64;
 1365|  6.91k|    ei_class  = Elf64_Ehdr::ELFCLASS64;
 1366|  6.91k|    ei_data   = Elf64_Ehdr::ELFDATA2LSB;
 1367|  6.91k|    ei_osabi  = Elf64_Ehdr::ELFOSABI_LINUX;
 1368|  6.91k|}
_ZN17PackLinuxElf64ppcC2EP9InputFile:
 1371|  7.35k|    : super(f), lg2_page(16), page_size(1u<<lg2_page)
 1372|  7.35k|{
 1373|  7.35k|    e_machine = Elf64_Ehdr::EM_PPC64;
 1374|  7.35k|    ei_class  = Elf64_Ehdr::ELFCLASS64;
 1375|  7.35k|    ei_data   = Elf64_Ehdr::ELFDATA2MSB;
 1376|  7.35k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1377|  7.35k|}
_ZN19PackLinuxElf64ppcleD2Ev:
 1380|  6.91k|{
 1381|  6.91k|}
_ZN17PackLinuxElf64ppcD2Ev:
 1384|  6.92k|{
 1385|  6.92k|}
_ZN17PackLinuxElf64amdC2EP9InputFile:
 1398|  11.5k|    : super(f)
 1399|  11.5k|{
 1400|       |    // Why did PackLinuxElf64Le set lg2_page = 16 ?
 1401|       |    // It causes trouble for check_pt_dynamic() from canPack().
 1402|  11.5k|    lg2_page = 12;  page_size = 1u<<lg2_page;
 1403|  11.5k|    e_machine = Elf64_Ehdr::EM_X86_64;
 1404|  11.5k|    ei_class = Elf64_Ehdr::ELFCLASS64;
 1405|  11.5k|    ei_data = Elf64_Ehdr::ELFDATA2LSB;
 1406|  11.5k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1407|  11.5k|}
_ZN17PackLinuxElf64armC2EP9InputFile:
 1410|  7.93k|     : super(f)
 1411|  7.93k| {
 1412|  7.93k|    e_machine = Elf64_Ehdr::EM_AARCH64;
 1413|  7.93k|     ei_class = Elf64_Ehdr::ELFCLASS64;
 1414|  7.93k|     ei_data = Elf64_Ehdr::ELFDATA2LSB;
 1415|  7.93k|     ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1416|  7.93k| }
_ZN21PackLinuxElf64riscv64C2EP9InputFile:
 1419|  7.89k|    : super(f)
 1420|  7.89k|{
 1421|  7.89k|    e_machine = Elf64_Ehdr::EM_RISCV;
 1422|  7.89k|    ei_class = Elf64_Ehdr::ELFCLASS64;
 1423|  7.89k|    ei_data = Elf64_Ehdr::ELFDATA2LSB;
 1424|  7.89k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 1425|  7.89k|}
_ZN17PackLinuxElf64amdD2Ev:
 1428|  10.5k|{
 1429|  10.5k|}
_ZN17PackLinuxElf64armD2Ev:
 1432|  7.93k|{
 1433|  7.93k|}
_ZN21PackLinuxElf64riscv64D2Ev:
 1436|  7.89k|{
 1437|  7.89k|}
_ZN14PackLinuxElf3217sort_DT32_offsetsEPKN5N_Elf3DynINS0_9ElfITypesI4LE164LE32S4_S4_S4_EEEE:
 2346|  1.04k|{
 2347|  1.04k|    mb_dt_offsets.alloc(sizeof(unsigned) * sizeof(dt_keys)/sizeof(dt_keys[0]));
 2348|  1.04k|    mb_dt_offsets.clear();
 2349|  1.04k|    dt_offsets = (unsigned *)mb_dt_offsets.getVoidPtr();
 2350|  1.04k|    unsigned n_off = 0, k;
 2351|  12.8k|    for (unsigned j=0; ((k = dt_keys[j]),  k); ++j) {
  ------------------
  |  Branch (2351:24): [True: 11.8k, False: 935]
  ------------------
 2352|  11.8k|        dt_offsets[n_off] = 0;  // default to "not found"
 2353|  11.8k|        u32_t rva = 0;
 2354|  11.8k|        if (k < DT_NUM) { // in range of easy table
  ------------------
  |  Branch (2354:13): [True: 7.83k, False: 4.05k]
  ------------------
 2355|  7.83k|            if (!dt_table[k]) {
  ------------------
  |  Branch (2355:17): [True: 5.41k, False: 2.42k]
  ------------------
 2356|  5.41k|                continue;  // not present in input
 2357|  5.41k|            }
 2358|  2.42k|            rva = get_te32(&dynp0[-1+ dt_table[k]].d_val);
 2359|  2.42k|        }
 2360|  4.05k|        else if (file_image) { // why is this guard necessary?
  ------------------
  |  Branch (2360:18): [True: 4.05k, False: 0]
  ------------------
 2361|  4.05k|            rva = elf_unsigned_dynamic(k);  // zero if not found
 2362|  4.05k|        }
 2363|  6.47k|        if (!rva) {
  ------------------
  |  Branch (2363:13): [True: 3.88k, False: 2.59k]
  ------------------
 2364|  3.88k|            continue;  // not present in input
 2365|  3.88k|        }
 2366|  2.59k|        Elf32_Phdr const *phdr = elf_find_Phdr_for_va(rva, phdri, e_phnum);
 2367|  2.59k|        if (!phdr) {
  ------------------
  |  Branch (2367:13): [True: 78, False: 2.51k]
  ------------------
 2368|     78|            char msg[60]; snprintf(msg, sizeof(msg), "bad  DT_{%#x} = %#x (no Phdr)",
  ------------------
  |  |   75|     78|#define snprintf  upx_safe_snprintf
  ------------------
 2369|     78|                k, rva);
 2370|     78|            throwCantPack(msg);
 2371|     78|        }
 2372|  2.51k|        dt_offsets[n_off] = (rva - get_te32(&phdr->p_vaddr)) + get_te32(&phdr->p_offset);
 2373|       |
 2374|  2.51k|        if (file_size <= dt_offsets[n_off]) {
  ------------------
  |  Branch (2374:13): [True: 33, False: 2.47k]
  ------------------
 2375|     33|            char msg[60]; snprintf(msg, sizeof(msg), "bad DT_{%#x} = %#x (beyond EOF)",
  ------------------
  |  |   75|     33|#define snprintf  upx_safe_snprintf
  ------------------
 2376|     33|                k, dt_offsets[n_off]);
 2377|     33|                throwCantPack(msg);
 2378|     33|        }
 2379|  2.47k|        n_off += !!dt_offsets[n_off];
 2380|  2.47k|    }
 2381|    935|    dt_offsets[n_off++] = file_size;  // sentinel
 2382|    935|    upx_qsort(dt_offsets, n_off, sizeof(dt_offsets[0]), qcmp_unsigned);
  ------------------
  |  |  220|    935|#define upx_qsort ::qsort
  ------------------
 2383|    935|}
_ZN14PackLinuxElf3211find_dt_ndxEj:
 2386|  1.25k|{
 2387|  1.25k|    unsigned *const dto = (unsigned *)mb_dt_offsets.getVoidPtr();
 2388|  1.25k|    unsigned const dto_size = mb_dt_offsets.getSize() / sizeof(*dto);
 2389|  2.86k|    for (unsigned j = 0; j < dto_size && dto[j]; ++j) { // linear search of short table
  ------------------
  |  Branch (2389:26): [True: 2.86k, False: 0]
  |  Branch (2389:42): [True: 2.72k, False: 134]
  ------------------
 2390|  2.72k|        if (rva == dto[j]) {
  ------------------
  |  Branch (2390:13): [True: 1.12k, False: 1.60k]
  ------------------
 2391|  1.12k|            return j;
 2392|  1.12k|        }
 2393|  2.72k|    }
 2394|    134|    return ~0u;
 2395|  1.25k|}
_ZN14PackLinuxElf3219elf_find_table_sizeEjj:
 2398|  1.61k|{
 2399|  1.61k|    Elf32_Shdr const *sec = elf_find_section_type(sh_type);
 2400|  1.61k|    if (sec) { // Cheat the easy way: use _Shdr.  (No _Shdr anyway for de-compression)
  ------------------
  |  Branch (2400:9): [True: 0, False: 1.61k]
  ------------------
 2401|      0|        return get_te32(&sec->sh_size);
 2402|      0|    }
 2403|       |    // Honest hard work: use _Phdr
 2404|  1.61k|    unsigned x_rva;
 2405|  1.61k|    if (dt_type < DT_NUM) {
  ------------------
  |  Branch (2405:9): [True: 1.23k, False: 382]
  ------------------
 2406|  1.23k|        unsigned const x_ndx = dt_table[dt_type];
 2407|  1.23k|        if (!x_ndx) { // no such entry
  ------------------
  |  Branch (2407:13): [True: 233, False: 997]
  ------------------
 2408|    233|            return 0;
 2409|    233|        }
 2410|    997|        x_rva = get_te32(&dynseg[-1+ x_ndx].d_val);
 2411|    997|    }
 2412|    382|    else {
 2413|    382|        x_rva = elf_unsigned_dynamic(dt_type);
 2414|    382|    }
 2415|  1.37k|    Elf32_Phdr const *const x_phdr = elf_find_Phdr_for_va(x_rva, phdri, e_phnum);
 2416|  1.37k|    if (!x_phdr)
  ------------------
  |  Branch (2416:9): [True: 122, False: 1.25k]
  ------------------
 2417|    122|        return ~0u;  // corrupted Phdrs?
 2418|  1.25k|    unsigned const           d_off =             x_rva - get_te32(&x_phdr->p_vaddr);
 2419|  1.25k|    unsigned const           y_ndx = find_dt_ndx(d_off + get_te32(&x_phdr->p_offset));
 2420|  1.25k|    if (~0u != y_ndx) {
  ------------------
  |  Branch (2420:9): [True: 1.12k, False: 134]
  ------------------
 2421|  1.12k|        return dt_offsets[1+ y_ndx] - dt_offsets[y_ndx];
 2422|  1.12k|    }
 2423|    134|    return ~0u;
 2424|  1.25k|}
_ZN14PackLinuxElf3217invert_pt_dynamicEPKN5N_Elf3DynINS0_9ElfITypesI4LE164LE32S4_S4_S4_EEEEj:
 2428|  1.14k|{
 2429|  1.14k|    if (dt_table[Elf32_Dyn::DT_NULL]) {
  ------------------
  |  Branch (2429:9): [True: 77, False: 1.07k]
  ------------------
 2430|     77|        return;  // not 1st time; do not change upx_dt_init
 2431|     77|    }
 2432|  1.07k|    Elf32_Dyn const *const dynp0 = dynp;
 2433|  1.07k|    unsigned ndx = 0;
 2434|  1.07k|    unsigned const limit = headway / sizeof(*dynp);
 2435|  1.07k|    if (dynp)
  ------------------
  |  Branch (2435:9): [True: 1.07k, False: 0]
  ------------------
 2436|  20.7k|    for (; ; ++ndx, ++dynp) {
 2437|  20.7k|        if (limit <= ndx) {
  ------------------
  |  Branch (2437:13): [True: 9, False: 20.7k]
  ------------------
 2438|      9|            throwCantPack("DT_NULL not found");
 2439|      9|        }
 2440|  20.7k|        u32_t const d_tag = get_te32(&dynp->d_tag);
 2441|  20.7k|        if (d_tag < DT_NUM) {
  ------------------
  |  Branch (2441:13): [True: 7.47k, False: 13.2k]
  ------------------
 2442|  7.47k|            if (Elf32_Dyn::DT_NEEDED != d_tag
  ------------------
  |  Branch (2442:17): [True: 6.72k, False: 753]
  ------------------
 2443|  6.72k|            &&  dt_table[d_tag]
  ------------------
  |  Branch (2443:17): [True: 157, False: 6.56k]
  ------------------
 2444|    157|            &&    get_te32(&dynp->d_val)
  ------------------
  |  Branch (2444:19): [True: 15, False: 142]
  ------------------
 2445|    157|               != get_te32(&dynp0[-1+ dt_table[d_tag]].d_val)) {
 2446|     15|                throwCantPack("duplicate DT_%#x: [%#x] [%#x]",
 2447|     15|                    (unsigned)d_tag, -1+ dt_table[d_tag], ndx);
 2448|     15|            }
 2449|  7.46k|            dt_table[d_tag] = 1+ ndx;
 2450|  7.46k|        }
 2451|  20.6k|        if (Elf32_Dyn::DT_NULL == d_tag) {
  ------------------
  |  Branch (2451:13): [True: 1.04k, False: 19.6k]
  ------------------
 2452|  1.04k|            break;  // check here so that dt_table[DT_NULL] is set
 2453|  1.04k|        }
 2454|  20.6k|    }
 2455|  1.04k|    sort_DT32_offsets(dynp0);
 2456|       |
 2457|  1.04k|    upx_dt_init = 0;
 2458|  1.04k|         if (dt_table[Elf32_Dyn::DT_INIT])          upx_dt_init = Elf32_Dyn::DT_INIT;
  ------------------
  |  Branch (2458:14): [True: 71, False: 975]
  ------------------
 2459|    975|    else if (dt_table[Elf32_Dyn::DT_PREINIT_ARRAY]) upx_dt_init = Elf32_Dyn::DT_PREINIT_ARRAY;
  ------------------
  |  Branch (2459:14): [True: 12, False: 963]
  ------------------
 2460|    963|    else if (dt_table[Elf32_Dyn::DT_INIT_ARRAY])    upx_dt_init = Elf32_Dyn::DT_INIT_ARRAY;
  ------------------
  |  Branch (2460:14): [True: 38, False: 925]
  ------------------
 2461|       |
 2462|  1.04k|    unsigned const z_str = dt_table[Elf32_Dyn::DT_STRSZ];
 2463|  1.04k|    strtab_max = !z_str ? 0 : get_te32(&dynp0[-1+ z_str].d_val);
  ------------------
  |  Branch (2463:18): [True: 47, False: 999]
  ------------------
 2464|  1.04k|    unsigned const z_tab = dt_table[Elf32_Dyn::DT_STRTAB];
 2465|  1.04k|    unsigned const tmp1 = !z_tab ? 0 : get_te32(&dynp0[-1+ z_tab].d_val);
  ------------------
  |  Branch (2465:27): [True: 33, False: 1.01k]
  ------------------
 2466|  1.04k|    if (tmp1 < sz_elf_hdrs) {
  ------------------
  |  Branch (2466:9): [True: 42, False: 1.00k]
  ------------------
 2467|     42|        throwCantPack("bad DT_STRTAB %#x", tmp1);
 2468|     42|    }
 2469|  1.00k|    unsigned const strtab_beg = !z_tab ? 0 : elf_get_offset_from_address(tmp1);
  ------------------
  |  Branch (2469:33): [True: 0, False: 1.00k]
  ------------------
 2470|       |
 2471|  1.00k|    if (!z_str || !z_tab || !(strtab_max + strtab_beg)
  ------------------
  |  Branch (2471:9): [True: 121, False: 883]
  |  Branch (2471:19): [True: 0, False: 883]
  |  Branch (2471:29): [True: 1, False: 882]
  ------------------
 2472|    882|    || (this->file_size - strtab_beg) < strtab_max  // strtab overlaps EOF
  ------------------
  |  Branch (2472:8): [True: 15, False: 867]
  ------------------
 2473|       |        // last string in table must have terminating NUL
 2474|    867|    ||  '\0' != ((char *)file_image.getVoidPtr())[-1+ strtab_max + strtab_beg]
  ------------------
  |  Branch (2474:9): [True: 11, False: 856]
  ------------------
 2475|  1.00k|    ) {
 2476|     34|        throwCantPack("bad DT_STRSZ %#x", strtab_max);
 2477|     34|    }
 2478|       |
 2479|    970|    { // Find end of DT_SYMTAB
 2480|    970|        unsigned const tmp2 = elf_find_table_size(Elf32_Dyn::DT_SYMTAB,
 2481|    970|            Elf32_Shdr::SHT_DYNSYM);
 2482|    970|        symnum_max = (~0u == tmp2) ? 0 : tmp2 / sizeof(Elf32_Sym);
  ------------------
  |  Branch (2482:22): [True: 193, False: 777]
  ------------------
 2483|    970|    }
 2484|       |
 2485|    970|    unsigned v_sym = dt_table[Elf32_Dyn::DT_SYMTAB];
 2486|    970|    if (v_sym) {
  ------------------
  |  Branch (2486:9): [True: 623, False: 347]
  ------------------
 2487|    623|        v_sym = elf_get_offset_from_address(get_te32(&dynp0[-1+ v_sym].d_val));
 2488|    623|    }
 2489|    970|    unsigned v_hsh = dt_table[Elf32_Dyn::DT_HASH];
 2490|    970|    if (v_hsh) {
  ------------------
  |  Branch (2490:9): [True: 401, False: 569]
  ------------------
 2491|    401|        v_hsh = elf_get_offset_from_address(get_te32(&dynp0[-1+ v_hsh].d_val));
 2492|    401|    }
 2493|    970|    if (v_hsh && file_image) {
  ------------------
  |  Branch (2493:9): [True: 377, False: 593]
  |  Branch (2493:18): [True: 377, False: 0]
  ------------------
 2494|    377|        hashtab = (unsigned const *)elf_find_dynamic(Elf32_Dyn::DT_HASH);
 2495|    377|        if (!hashtab) {
  ------------------
  |  Branch (2495:13): [True: 3, False: 374]
  ------------------
 2496|      3|            throwCantPack("bad DT_HASH %#x", v_hsh);
 2497|      3|        }
 2498|       |        // Find end of DT_HASH
 2499|    374|        hashend = (unsigned const *)(void const *)(elf_find_table_size(
 2500|    374|            Elf32_Dyn::DT_HASH, Elf32_Shdr::SHT_HASH) + (char const *)hashtab);
 2501|    374|        if (!hashtab || (char const *)hashend <= (char const *)&hashtab[2]
  ------------------
  |  Branch (2501:13): [True: 0, False: 374]
  |  Branch (2501:25): [True: 1, False: 373]
  ------------------
 2502|    373|        ||  file_image.getSizeInBytes()
  ------------------
  |  Branch (2502:13): [True: 1, False: 372]
  ------------------
 2503|    373|            < (unsigned)((char const *)&hashtab[2] - (char *)&file_image[0]) )
 2504|      2|        {
 2505|      2|            throwCantPack("bad DT_HASH %#x", v_hsh);
 2506|      2|        }
 2507|       |
 2508|    372|        unsigned const nbucket = get_te32(&hashtab[0]);
 2509|    372|        unsigned const *const buckets = &hashtab[2];
 2510|    372|        unsigned const *const chains = &buckets[nbucket]; (void)chains;
 2511|    372|        if ((unsigned)(file_size - ((char const *)buckets - (char const *)(void const *)file_image))
  ------------------
  |  Branch (2511:13): [True: 16, False: 356]
  ------------------
 2512|    372|                <= sizeof(unsigned)*nbucket ) {
 2513|     16|            throwCantPack("bad nbucket %#x\n", nbucket);
 2514|     16|        }
 2515|       |
 2516|    356|        if ((unsigned)(hashend - buckets) < nbucket
  ------------------
  |  Branch (2516:13): [True: 10, False: 346]
  ------------------
 2517|    346|        || !v_sym || (unsigned)file_size <= v_sym
  ------------------
  |  Branch (2517:12): [True: 4, False: 342]
  |  Branch (2517:22): [True: 2, False: 340]
  ------------------
 2518|    340|        || ((v_hsh < v_sym) && (v_sym - v_hsh) < sizeof(*buckets)*(2+ nbucket))
  ------------------
  |  Branch (2518:13): [True: 161, False: 179]
  |  Branch (2518:32): [True: 5, False: 156]
  ------------------
 2519|    356|        ) {
 2520|     21|            throwCantPack("bad DT_HASH nbucket=%#x  len=%#x",
 2521|     21|                nbucket, (v_sym - v_hsh));
 2522|     21|        }
 2523|    335|        unsigned chmax = 0;
 2524|   297k|        for (unsigned j= 0; j < nbucket; ++j) {
  ------------------
  |  Branch (2524:29): [True: 297k, False: 335]
  ------------------
 2525|   297k|            unsigned x = get_te32(&buckets[j]);
 2526|   297k|            if (chmax < x) {
  ------------------
  |  Branch (2526:17): [True: 975, False: 296k]
  ------------------
 2527|    975|                chmax = x;
 2528|    975|            }
 2529|   297k|        }
 2530|    335|        if ((v_hsh < v_sym) && (v_sym - v_hsh) <
  ------------------
  |  Branch (2530:13): [True: 156, False: 179]
  |  Branch (2530:32): [True: 19, False: 137]
  ------------------
 2531|    156|                (sizeof(*buckets)*(2+ nbucket) + sizeof(*chains)*(1+ chmax))) {
 2532|     19|            throwCantPack("bad DT_HASH nbucket=%#x  len=%#x",
 2533|     19|                nbucket, (v_sym - v_hsh));
 2534|     19|        }
 2535|    335|    }
 2536|    909|    unsigned const v_gsh = elf_unsigned_dynamic(Elf32_Dyn::DT_GNU_HASH);
 2537|    909|    if (v_gsh && file_image) {
  ------------------
  |  Branch (2537:9): [True: 382, False: 527]
  |  Branch (2537:18): [True: 382, False: 0]
  ------------------
 2538|       |        // Not similar to DT_HASH because DT_GNU_HASH is not small (0x6ffffef5).
 2539|    382|        gashtab = (unsigned const *)elf_find_dynamic(Elf32_Dyn::DT_GNU_HASH);
 2540|    382|        gashend = (unsigned const *)(void const *)(elf_find_table_size(
 2541|    382|            Elf32_Dyn::DT_GNU_HASH, Elf32_Shdr::SHT_GNU_HASH) + (char const *)gashtab);
 2542|    382|        if (!gashtab || (char const *)gashend <= (char const *)&gashtab[4]
  ------------------
  |  Branch (2542:13): [True: 1, False: 381]
  |  Branch (2542:25): [True: 4, False: 377]
  ------------------
 2543|    377|        ||  file_image.getSizeInBytes()
  ------------------
  |  Branch (2543:13): [True: 0, False: 377]
  ------------------
 2544|    377|            < (unsigned)((char const *)&gashtab[4] - (char *)&file_image[0]) )
 2545|      5|        {
 2546|      5|            throwCantPack("bad DT_GNU_HASH %#x", v_gsh);
 2547|      5|        }
 2548|       |
 2549|    377|        unsigned const n_bucket = get_te32(&gashtab[0]);
 2550|    377|        unsigned const symbias  = get_te32(&gashtab[1]);
 2551|    377|        unsigned const n_bitmask = get_te32(&gashtab[2]);
 2552|    377|        unsigned const gnu_shift = get_te32(&gashtab[3]);
 2553|    377|        u32_t const *const bitmask = (u32_t const *)(void const *)&gashtab[4];
 2554|    377|        unsigned     const *const buckets = (unsigned const *)&bitmask[n_bitmask];
 2555|    377|        unsigned     const *const hasharr = &buckets[n_bucket]; (void)hasharr;
 2556|    377|        if (!n_bucket || (1u<<31) <= n_bucket  /* fie on fuzzers */
  ------------------
  |  Branch (2556:13): [True: 3, False: 374]
  |  Branch (2556:26): [True: 38, False: 336]
  ------------------
 2557|    336|        || (unsigned)(gashend - buckets) < n_bucket
  ------------------
  |  Branch (2557:12): [True: 17, False: 319]
  ------------------
 2558|    319|        || (file_size + file_image) <= (void const *)hasharr) {
  ------------------
  |  Branch (2558:12): [True: 44, False: 275]
  ------------------
 2559|    102|            throwCantPack("bad n_bucket %#x\n", n_bucket);
 2560|    102|        }
 2561|       |        // It would be better to detect zeroes shifted into low 5 bits of:
 2562|       |        //    (037 & (hash_32 >> gnu_shift))
 2563|       |        // but compilers can be stupid.
 2564|    275|        if (31 < gnu_shift) {
  ------------------
  |  Branch (2564:13): [True: 4, False: 271]
  ------------------
 2565|      4|            throwCantPack("bad gnu_shift %#x", gnu_shift);
 2566|      4|        }
 2567|       |        // unsigned const *const gashend = &hasharr[n_bucket];
 2568|       |        // minimum, except:
 2569|       |        // Rust and Android trim unused zeroes from high end of hasharr[]
 2570|    271|        unsigned bmax = 0;
 2571|  7.72k|        for (unsigned j= 0; j < n_bucket; ++j) {
  ------------------
  |  Branch (2571:29): [True: 7.45k, False: 263]
  ------------------
 2572|  7.45k|            unsigned bj = get_te32(&buckets[j]);
 2573|  7.45k|            if (bj) {
  ------------------
  |  Branch (2573:17): [True: 5.82k, False: 1.63k]
  ------------------
 2574|  5.82k|                if (bj < symbias) {
  ------------------
  |  Branch (2574:21): [True: 8, False: 5.81k]
  ------------------
 2575|      8|                    throwCantPack("bad DT_GNU_HASH bucket[%d] < symbias{%#x}\n",
 2576|      8|                        bj, symbias);
 2577|      8|                }
 2578|  5.81k|                if (bmax < bj) {
  ------------------
  |  Branch (2578:21): [True: 1.06k, False: 4.75k]
  ------------------
 2579|  1.06k|                    bmax = bj;
 2580|  1.06k|                }
 2581|  5.81k|            }
 2582|  7.45k|        }
 2583|    263|        if (1==n_bucket  && 0==buckets[0]
  ------------------
  |  Branch (2583:13): [True: 88, False: 175]
  |  Branch (2583:29): [True: 39, False: 49]
  ------------------
 2584|     39|        &&  1==n_bitmask && 0==bitmask[0]) {
  ------------------
  |  Branch (2584:13): [True: 29, False: 10]
  |  Branch (2584:29): [True: 15, False: 14]
  ------------------
 2585|       |            // 2021-09-11 Rust on RaspberryPi apparently uses this to minimize space.
 2586|       |            // But then the DT_GNU_HASH symbol lookup algorithm always fails?
 2587|       |            // https://github.com/upx/upx/issues/525
 2588|     15|        } else
 2589|    248|        if (bmax) {
  ------------------
  |  Branch (2589:13): [True: 218, False: 30]
  ------------------
 2590|    218|            if ((1+ bmax) < symbias) {
  ------------------
  |  Branch (2590:17): [True: 6, False: 212]
  ------------------
 2591|      6|                throwCantPack("bad DT_GNU_HASH (1+ max_bucket)=%#x < symbias=%#x",
 2592|      6|                    1+ bmax, symbias);
 2593|      6|            }
 2594|    212|            bmax -= symbias;
 2595|    212|        }
 2596|       |
 2597|    257|        unsigned r = 0;
 2598|    257|        if (!n_bucket || !n_bitmask || !v_sym
  ------------------
  |  Branch (2598:13): [True: 0, False: 257]
  |  Branch (2598:26): [True: 19, False: 238]
  |  Branch (2598:40): [True: 28, False: 210]
  ------------------
 2599|    210|        || (r=1, ((-1+ n_bitmask) & n_bitmask))  // not a power of 2
  ------------------
  |  Branch (2599:12): [True: 15, False: 195]
  ------------------
 2600|    195|        || (r=2, (8*sizeof(u32_t) <= gnu_shift))  // shifted result always == 0
  ------------------
  |  Branch (2600:12): [True: 0, False: 195]
  ------------------
 2601|    195|        || (r=3, (n_bucket>>30))  // fie on fuzzers
  ------------------
  |  Branch (2601:12): [True: 0, False: 195]
  ------------------
 2602|    195|        || (r=4, (n_bitmask>>30))
  ------------------
  |  Branch (2602:12): [True: 0, False: 195]
  ------------------
 2603|    195|        || (r=5, ((file_size/sizeof(unsigned))
  ------------------
  |  Branch (2603:12): [True: 1, False: 194]
  ------------------
 2604|    195|                <= ((sizeof(*bitmask)/sizeof(unsigned))*n_bitmask + 2*n_bucket)))  // FIXME: weak
 2605|    194|        || (r=6, ((v_gsh < v_sym) && (v_sym - v_gsh) < (sizeof(unsigned)*4  // headers
  ------------------
  |  Branch (2605:12): [True: 52, False: 142]
  |  Branch (2605:19): [True: 146, False: 48]
  |  Branch (2605:38): [True: 52, False: 94]
  ------------------
 2606|    146|                + sizeof(*bitmask)*n_bitmask  // bitmask
 2607|    146|                + sizeof(*buckets)*n_bucket  // buckets
 2608|    146|                + sizeof(*hasharr)*(!bmax ? 0 : (1+ bmax))  // hasharr
  ------------------
  |  Branch (2608:37): [True: 61, False: 85]
  ------------------
 2609|    146|            )) )
 2610|    257|        ) {
 2611|    115|            char msg[90]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|    115|#define snprintf  upx_safe_snprintf
  ------------------
 2612|    115|                "bad DT_GNU_HASH n_bucket=%#x  n_bitmask=%#x  len=%#lx  r=%d",
 2613|    115|                n_bucket, n_bitmask, (long unsigned)(v_sym - v_gsh), r);
 2614|    115|            throwCantPack(msg);
 2615|    115|        }
 2616|    257|    }
 2617|    669|    e_shstrndx = get_te16(&ehdri.e_shstrndx);  // who omitted this?
 2618|    669|    if (e_shnum <= e_shstrndx
  ------------------
  |  Branch (2618:9): [True: 76, False: 593]
  ------------------
 2619|     76|    &&  !(0==e_shnum && 0==e_shstrndx) ) {
  ------------------
  |  Branch (2619:11): [True: 69, False: 7]
  |  Branch (2619:25): [True: 67, False: 2]
  ------------------
 2620|      9|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      9|#define snprintf  upx_safe_snprintf
  ------------------
 2621|      9|            "bad .e_shstrndx %d >= .e_shnum %d", e_shstrndx, e_shnum);
 2622|      9|        throwCantPack(msg);
 2623|      9|    }
 2624|    669|}
_ZN14PackLinuxElf3214elf_find_ptypeEjPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEEj:
 2628|  1.87k|{
 2629|  14.1k|    for (unsigned j = 0; j < phnum; ++j, ++phdr) {
  ------------------
  |  Branch (2629:26): [True: 12.4k, False: 1.69k]
  ------------------
 2630|  12.4k|        if (type == get_te32(&phdr->p_type)) {
  ------------------
  |  Branch (2630:13): [True: 172, False: 12.2k]
  ------------------
 2631|    172|            return phdr;
 2632|    172|        }
 2633|  12.4k|    }
 2634|  1.69k|    return nullptr;
 2635|  1.87k|}
_ZN14PackLinuxElf6414elf_find_ptypeEjPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEEj:
 2639|    884|{
 2640|  6.76k|    for (unsigned j = 0; j < phnum; ++j, ++phdr) {
  ------------------
  |  Branch (2640:26): [True: 6.31k, False: 442]
  ------------------
 2641|  6.31k|        if (type == get_te32(&phdr->p_type)) {
  ------------------
  |  Branch (2641:13): [True: 442, False: 5.87k]
  ------------------
 2642|    442|            return phdr;
 2643|    442|        }
 2644|  6.31k|    }
 2645|    442|    return nullptr;
 2646|    884|}
_ZNK14PackLinuxElf3221elf_find_section_typeEj:
 2699|  3.70k|{
 2700|  3.70k|    Elf32_Shdr *shdr = shdri;
 2701|  3.70k|    if (!shdr) {
  ------------------
  |  Branch (2701:9): [True: 3.70k, False: 0]
  ------------------
 2702|  3.70k|        return nullptr;
 2703|  3.70k|    }
 2704|      0|    int j = e_shnum;
 2705|      0|    for (; 0 <=--j; ++shdr) {
  ------------------
  |  Branch (2705:12): [True: 0, False: 0]
  ------------------
 2706|      0|        if (type==get_te32(&shdr->sh_type)) {
  ------------------
  |  Branch (2706:13): [True: 0, False: 0]
  ------------------
 2707|      0|            return shdr;
 2708|      0|        }
 2709|      0|    }
 2710|      0|    return nullptr;
 2711|      0|}
_ZNK14PackLinuxElf6421elf_find_section_typeEj:
 2716|  3.40k|{
 2717|  3.40k|    Elf64_Shdr *shdr = shdri;
 2718|  3.40k|    if (!shdr) {
  ------------------
  |  Branch (2718:9): [True: 3.40k, False: 0]
  ------------------
 2719|  3.40k|        return nullptr;
 2720|  3.40k|    }
 2721|      0|    int j = e_shnum;
 2722|      0|    for (; 0 <=--j; ++shdr) {
  ------------------
  |  Branch (2722:12): [True: 0, False: 0]
  ------------------
 2723|      0|        if (type==get_te32(&shdr->sh_type)) {
  ------------------
  |  Branch (2723:13): [True: 0, False: 0]
  ------------------
 2724|      0|            return shdr;
 2725|      0|        }
 2726|      0|    }
 2727|      0|    return nullptr;
 2728|      0|}
_ZN14PackLinuxElf329canUnpackEv:
 2803|  90.3k|{
 2804|  90.3k|    if (checkEhdr(&ehdri)) {
  ------------------
  |  Branch (2804:9): [True: 83.2k, False: 7.09k]
  ------------------
 2805|  83.2k|        return false;
 2806|  83.2k|    }
 2807|  7.09k|    if (get_te16(&ehdri.e_phnum) < 2) {
  ------------------
  |  Branch (2807:9): [True: 5, False: 7.09k]
  ------------------
 2808|      5|        throwCantUnpack("e_phnum must be >= 2");
 2809|      5|    }
 2810|  7.09k|    if (Elf32_Ehdr::ET_DYN==get_te16(&ehdri.e_type)) {
  ------------------
  |  Branch (2810:9): [True: 377, False: 6.71k]
  ------------------
 2811|    377|        PackLinuxElf32help1(fi);
 2812|    377|    }
 2813|  7.09k|    if (super::canUnpack()) {
  ------------------
  |  Branch (2813:9): [True: 2.12k, False: 4.96k]
  ------------------
 2814|  2.12k|        return true;
 2815|  2.12k|    }
 2816|  4.96k|    return false;
 2817|  7.09k|}
_ZN14PackLinuxElf649canUnpackEv:
 3506|  40.2k|{
 3507|  40.2k|    if (checkEhdr(&ehdri)) {
  ------------------
  |  Branch (3507:9): [True: 38.8k, False: 1.37k]
  ------------------
 3508|  38.8k|        return false;
 3509|  38.8k|    }
 3510|  1.37k|    if (get_te16(&ehdri.e_phnum) < 2) {
  ------------------
  |  Branch (3510:9): [True: 5, False: 1.37k]
  ------------------
 3511|      5|        throwCantUnpack("e_phnum must be >= 2");
 3512|      5|    }
 3513|  1.37k|    if (Elf64_Ehdr::ET_DYN==get_te16(&ehdri.e_type)) {
  ------------------
  |  Branch (3513:9): [True: 111, False: 1.26k]
  ------------------
 3514|    111|        PackLinuxElf64help1(fi);
 3515|    111|    }
 3516|  1.37k|    if (super::canUnpack()) {
  ------------------
  |  Branch (3516:9): [True: 1.15k, False: 223]
  ------------------
 3517|  1.15k|        return true;
 3518|  1.15k|    }
 3519|    223|    return false;
 3520|  1.37k|}
_ZN14PackLinuxElf3213find_LOAD_gapEPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEEjj:
 5439|    916|{
 5440|    916|    if (!is_LOAD(&phdr[k])) {
  ------------------
  |  Branch (5440:9): [True: 835, False: 81]
  ------------------
 5441|    835|        return 0;
 5442|    835|    }
 5443|     81|    unsigned const hi = get_te32(&phdr[k].p_offset) +
 5444|     81|                        get_te32(&phdr[k].p_filesz);
 5445|     81|    unsigned lo = ph.u_file_size;
 5446|     81|    if (lo < hi)
  ------------------
  |  Branch (5446:9): [True: 0, False: 81]
  ------------------
 5447|      0|        throwCantPack("bad input: PT_LOAD beyond end-of-file");
 5448|     81|    unsigned j = k;
 5449|    478|    for (;;) { // circular search, optimize for adjacent ascending
 5450|    478|        ++j;
 5451|    478|        if (nph==j) {
  ------------------
  |  Branch (5451:13): [True: 70, False: 408]
  ------------------
 5452|     70|            j = 0;
 5453|     70|        }
 5454|    478|        if (k==j) {
  ------------------
  |  Branch (5454:13): [True: 70, False: 408]
  ------------------
 5455|     70|            break;
 5456|     70|        }
 5457|    408|        if (is_LOAD(&phdr[j])) {
  ------------------
  |  Branch (5457:13): [True: 115, False: 293]
  ------------------
 5458|    115|            unsigned const t = get_te32(&phdr[j].p_offset);
 5459|    115|            if ((t - hi) < (lo - hi)) {
  ------------------
  |  Branch (5459:17): [True: 55, False: 60]
  ------------------
 5460|     55|                lo = t;
 5461|     55|                if (hi==lo) {
  ------------------
  |  Branch (5461:21): [True: 11, False: 44]
  ------------------
 5462|     11|                    break;
 5463|     11|                }
 5464|     55|            }
 5465|    115|        }
 5466|    408|    }
 5467|     81|    return lo - hi;
 5468|     81|}
_ZN14PackLinuxElf6413find_LOAD_gapEPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEEjj:
 5817|  1.04k|{
 5818|  1.04k|    if (!is_LOAD(&phdr[k])) {
  ------------------
  |  Branch (5818:9): [True: 941, False: 107]
  ------------------
 5819|    941|        return 0;
 5820|    941|    }
 5821|    107|    unsigned const hi = get_te64(&phdr[k].p_offset) +
 5822|    107|                        get_te64(&phdr[k].p_filesz);
 5823|    107|    unsigned lo = ph.u_file_size;
 5824|    107|    if (lo < hi)
  ------------------
  |  Branch (5824:9): [True: 0, False: 107]
  ------------------
 5825|      0|        throwCantPack("bad input: PT_LOAD beyond end-of-file");
 5826|    107|    unsigned j = k;
 5827|    802|    for (;;) { // circular search, optimize for adjacent ascending
 5828|    802|        ++j;
 5829|    802|        if (nph==j) {
  ------------------
  |  Branch (5829:13): [True: 104, False: 698]
  ------------------
 5830|    104|            j = 0;
 5831|    104|        }
 5832|    802|        if (k==j) {
  ------------------
  |  Branch (5832:13): [True: 104, False: 698]
  ------------------
 5833|    104|            break;
 5834|    104|        }
 5835|    698|        if (is_LOAD(&phdr[j])) {
  ------------------
  |  Branch (5835:13): [True: 207, False: 491]
  ------------------
 5836|    207|            unsigned const t = get_te64(&phdr[j].p_offset);
 5837|    207|            if ((t - hi) < (lo - hi)) {
  ------------------
  |  Branch (5837:17): [True: 76, False: 131]
  ------------------
 5838|     76|                lo = t;
 5839|     76|                if (hi==lo) {
  ------------------
  |  Branch (5839:21): [True: 3, False: 73]
  ------------------
 5840|      3|                    break;
 5841|      3|                }
 5842|     76|            }
 5843|    207|        }
 5844|    698|    }
 5845|    107|    return lo - hi;
 5846|    107|}
_ZN14PackLinuxElf6410un_shlib_1EP10OutputFileR9MemBufferRjS4_j:
 7021|    442|{
 7022|       |    // xct_off [input side] was set by ::unpack when is_shlib
 7023|       |    // yct_off [output side] set here unless is_asl in next 'if' block
 7024|    442|    unsigned yct_off = xct_off;
 7025|       |
 7026|       |    // Below xct_off is not compressed (for benefit of rtld.)
 7027|    442|    fi->seek(0, SEEK_SET);
 7028|    442|    fi->readx(ibuf, umin(blocksize, file_size_u32));
 7029|       |
 7030|       |    // Determine if the extra page with copy of _Shdrs was spliced in.
 7031|       |    // This used to be the result of --android-shlib.
 7032|       |    // But in 2023-02 the forwarding of ARM_ATTRIBUTES (by appending)
 7033|       |    // takes care of this, so the 5th word before e_entry does not
 7034|       |    // have the low bit 1, so is_asl should not be set.
 7035|       |    // However, .so that were compressed before 2023-03
 7036|       |    // may be marked.
 7037|    442|    e_shoff = get_te64(&ehdri.e_shoff);
 7038|    442|    if (e_shoff && e_shnum
  ------------------
  |  Branch (7038:9): [True: 368, False: 74]
  |  Branch (7038:20): [True: 324, False: 44]
  ------------------
 7039|       |            // +36: (sizeof(PackHeader) + sizeof(overlay_offset))
 7040|       |            //    after Shdrs for ARM_ATTRIBUTES
 7041|    324|    &&  (((e_shoff + sizeof(Elf64_Shdr) * e_shnum) + 36) < file_size_u)
  ------------------
  |  Branch (7041:9): [True: 61, False: 263]
  ------------------
 7042|    442|    ) { // possible --android-shlib
 7043|     61|        unsigned x = get_te32(&file_image[get_te64(&ehdri.e_entry) - (1+ 4)*sizeof(int)]);
 7044|     61|        if (1 & x) { // the clincher
  ------------------
  |  Branch (7044:13): [True: 1, False: 60]
  ------------------
 7045|      1|            is_asl = 1;
 7046|      1|            fi->seek(e_shoff, SEEK_SET);
 7047|      1|            mb_shdr.alloc(   sizeof(Elf64_Shdr) * e_shnum);
 7048|      1|            shdri = (Elf64_Shdr *)mb_shdr.getVoidPtr();
 7049|      1|            fi->readx(shdri, sizeof(Elf64_Shdr) * e_shnum);
 7050|      1|            yct_off = get_te64(&shdri->sh_offset);  // for the output file (de-compressed)
 7051|      1|            xct_off = asl_delta + yct_off;  // for the input file (compressed)
 7052|      1|        }
 7053|     61|    }
 7054|       |
 7055|       |    // Decompress first Extent.  Old style covers [0, xct_off)
 7056|       |    // which includes rtld constant data and eXecutable app code below DT_INIT.
 7057|       |    // In old style, the first compressed Extent is redundant
 7058|       |    // except for the compressed original Elf headers.
 7059|       |    // New style covers just Elf headers: the rest below xct_off is
 7060|       |    // rtld constant data: DT_*HASH, DT_SYMTAB, DT_STRTAB, etc.
 7061|       |    // New style puts eXecutable app code in second PT_LOAD
 7062|       |    // in order to mark Elf headers and rtld data as non-eXecutable.
 7063|    442|    fi->seek(overlay_offset - sizeof(l_info), SEEK_SET);
 7064|    442|    struct {
 7065|    442|        struct l_info l;
 7066|    442|        struct p_info p;
 7067|    442|        struct b_info b;
 7068|    442|    } hdr;
 7069|    442|    fi->readx(&hdr, sizeof(hdr));
 7070|    442|    if (hdr.l.l_magic != UPX_MAGIC_LE32
  ------------------
  |  |  534|    884|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (7070:9): [True: 59, False: 383]
  ------------------
 7071|    383|    ||  get_te16(&hdr.l.l_lsize) != (unsigned)lsize
  ------------------
  |  Branch (7071:9): [True: 0, False: 383]
  ------------------
 7072|    383|    ||  get_te32(&hdr.p.p_filesize) != ph.u_file_size
  ------------------
  |  Branch (7072:9): [True: 123, False: 260]
  ------------------
 7073|    260|    ||  get_te32(&hdr.b.sz_unc) < sz_elf_hdrs  // peek: 1st b_info covers Elf headers
  ------------------
  |  Branch (7073:9): [True: 2, False: 258]
  ------------------
 7074|    442|    ) {
 7075|    125|        throwCantUnpack("corrupt l_info/p_info/b_info");
 7076|    125|    }
 7077|    317|    fi->seek(-(off_t)sizeof(struct b_info), SEEK_CUR); // hdr.b_info was a peek
 7078|       |
 7079|       |// The default layout for a shared library created by binutils-2.29
 7080|       |// (Fedora 28; 2018) has two PT_LOAD: permissions r-x and rw-.
 7081|       |// xct_off (the lowest address of executable instructions;
 7082|       |// the highest address of read-only data used by rtld (ld-linux))
 7083|       |// will be somewhere in the first PT_LOAD.
 7084|       |//
 7085|       |// The default layout for a shared library created by binutils-2.31
 7086|       |// (Fedora 29; 2018) has four PT_LOAD: permissions r--, r-x, r--, rw-.
 7087|       |// xct_off will be the base of the second [r-x] PT_LOAD.
 7088|       |//
 7089|       |// Bytes below xct_off cannot be compressed because they are used
 7090|       |// by rtld *before* the UPX run-time de-compression stub gets control
 7091|       |// via DT_INIT. Bytes in a Writeable PT_LOAD cannot be compressed
 7092|       |// because they may be relocated by rtld, again before stub execution.
 7093|       |//
 7094|       |// We need to know which layout of PT_LOAD. It seems risky to steal
 7095|       |// bits in the input ElfXX_Ehdr or ElfXX_Phdr, so we decompress
 7096|       |// the first compressed block.  For an old-style shared library
 7097|       |// the first compressed block covers [0, xct_off) which is redundant
 7098|       |// with the interval [sz_elf_hdrs, xct_off) because those bytes
 7099|       |// must be present for use by rtl  (So that is a large inefficiency.)
 7100|       |// Fortunately p_info.p_blocksize fits in ibuf, and unpackExtent
 7101|       |// will just decompress it all.  For new style, the first compressed
 7102|       |// block covers [0, sz_elf_hdrs).
 7103|       |
 7104|       |    // Peek: unpack into ibuf, but do not write
 7105|    317|    unsigned const sz_block1 = unpackExtent(sz_elf_hdrs, nullptr,
 7106|    317|        c_adler, u_adler, false, -1);
 7107|    317|    if (sz_block1 < sz_elf_hdrs) {
  ------------------
  |  Branch (7107:9): [True: 0, False: 317]
  ------------------
 7108|      0|        throwCantUnpack("corrupt b_info");
 7109|      0|    }
 7110|    317|    memcpy(o_elfhdrs, ibuf, sz_elf_hdrs); // save de-compressed Elf headers
 7111|    317|    Elf64_Ehdr const *const ehdro = (Elf64_Ehdr const *)(void const *)o_elfhdrs;
 7112|    317|    if (ehdro->e_type   !=ehdri.e_type
  ------------------
  |  Branch (7112:9): [True: 101, False: 216]
  ------------------
 7113|    216|    ||  ehdro->e_machine!=ehdri.e_machine
  ------------------
  |  Branch (7113:9): [True: 2, False: 214]
  ------------------
 7114|    214|    ||  ehdro->e_version!=ehdri.e_version
  ------------------
  |  Branch (7114:9): [True: 0, False: 214]
  ------------------
 7115|       |        // less strict for EM_PPC64 to workaround earlier bug
 7116|    214|    ||  !( ehdro->e_flags==ehdri.e_flags
  ------------------
  |  Branch (7116:12): [True: 204, False: 10]
  ------------------
 7117|     10|        || Elf64_Ehdr::EM_PPC64 == get_te16(&ehdri.e_machine)
  ------------------
  |  Branch (7117:12): [True: 3, False: 7]
  ------------------
 7118|      7|        || Elf64_Ehdr::EM_RISCV == get_te16(&ehdri.e_machine))
  ------------------
  |  Branch (7118:12): [True: 0, False: 7]
  ------------------
 7119|    207|    ||  ehdro->e_ehsize !=ehdri.e_ehsize
  ------------------
  |  Branch (7119:9): [True: 1, False: 206]
  ------------------
 7120|       |        // check EI_MAG[0-3], EI_CLASS, EI_DATA, EI_VERSION
 7121|    206|    ||  memcmp(ehdro->e_ident, ehdri.e_ident, Elf64_Ehdr::EI_OSABI)) {
  ------------------
  |  Branch (7121:9): [True: 7, False: 199]
  ------------------
 7122|     50|        throwCantUnpack("ElfXX_Ehdr corrupted");
 7123|     50|    }
 7124|    267|    if (fo) {
  ------------------
  |  Branch (7124:9): [True: 199, False: 68]
  ------------------
 7125|    199|        fo->write(ibuf, sz_block1);
 7126|    199|        total_out = sz_block1;
 7127|    199|    }
 7128|    267|    Elf64_Phdr const *o_phdr = (Elf64_Phdr const *)(1+ ehdro);
 7129|       |    // Handle compressed PT_LOADs (must not have PF_W)
 7130|    267|    unsigned not_first_LOAD = 0;
 7131|    674|    for (unsigned j = 0; j < e_phnum; ++j, ++o_phdr) {
  ------------------
  |  Branch (7131:26): [True: 408, False: 266]
  ------------------
 7132|    408|        unsigned type = get_te32(&o_phdr->p_type);
 7133|    408|        unsigned flags = get_te32(&o_phdr->p_flags);
 7134|    408|        if (PT_LOAD != type || Elf64_Phdr::PF_W & flags) {
  ------------------
  |  |   56|    408|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  |  Branch (7134:13): [True: 388, False: 20]
  |  Branch (7134:32): [True: 2, False: 18]
  ------------------
 7135|    390|            continue;
 7136|    390|        }
 7137|     18|        unsigned p_offset = get_te64(&o_phdr->p_offset);
 7138|     18|        unsigned p_filesz = get_te64(&o_phdr->p_filesz);
 7139|     18|        unsigned wanted = p_filesz;
 7140|     18|        if (!not_first_LOAD++) { // first PT_LOAD
  ------------------
  |  Branch (7140:13): [True: 17, False: 1]
  ------------------
 7141|     17|            wanted -= sz_block1;
 7142|     17|            if (sz_block1 >  sz_elf_hdrs) { // old style
  ------------------
  |  Branch (7142:17): [True: 16, False: 1]
  ------------------
 7143|     16|                if (is_asl) {
  ------------------
  |  Branch (7143:21): [True: 0, False: 16]
  ------------------
 7144|      0|                    un_asl_dynsym(orig_file_size, fo);
 7145|      0|                }
 7146|     16|                p_offset += sz_block1;
 7147|     16|            }
 7148|     17|            if (sz_block1 == sz_elf_hdrs) { // new style
  ------------------
  |  Branch (7148:17): [True: 1, False: 16]
  ------------------
 7149|      1|                unsigned const len = (yct_off ? yct_off : xct_off) - sz_elf_hdrs;
  ------------------
  |  Branch (7149:39): [True: 1, False: 0]
  ------------------
 7150|      1|                unsigned const ipos = fi->tell();
 7151|      1|                if ((upx_uint64_t)sz_elf_hdrs + len > ibuf.getSize())
  ------------------
  |  Branch (7151:21): [True: 1, False: 0]
  ------------------
 7152|      1|                    throwCantUnpack("bad xct_off or yct_off");
 7153|      0|                fi->seek(sz_elf_hdrs, SEEK_SET);
 7154|      0|                fi->readx(&ibuf[sz_elf_hdrs], len);
 7155|      0|                if (is_asl) {
  ------------------
  |  Branch (7155:21): [True: 0, False: 0]
  ------------------
 7156|      0|                    un_asl_dynsym(orig_file_size, nullptr);
 7157|      0|                }
 7158|      0|                if (fo) {
  ------------------
  |  Branch (7158:21): [True: 0, False: 0]
  ------------------
 7159|      0|                    fo->write(&ibuf[sz_elf_hdrs], len);
 7160|      0|                }
 7161|      0|                total_out += len;
 7162|       |
 7163|       |// github-issue629: (overlay_offset = 0xa500), so initially (xct_off = 0xa494).
 7164|       |// But "yct_off = get_te64(&shdri->sh_offset)" so if _Shdrs are aligned (??)
 7165|       |// then (0x10500 == (xct_off = asl_delta + yct_off)), and we read+write
 7166|       |// more than we need.
 7167|       |// So assume the excess just lives there, or is overwritten later by seek+write.
 7168|      0|                if (wanted < len) { // FIXME: why does this happen?
  ------------------
  |  Branch (7168:21): [True: 0, False: 0]
  ------------------
 7169|      0|                    wanted = 0;
 7170|      0|                }
 7171|      0|                else {
 7172|      0|                    wanted -= len;
 7173|      0|                }
 7174|      0|                fi->seek(ipos, SEEK_SET);
 7175|      0|                if (total_out == p_filesz) {
  ------------------
  |  Branch (7175:21): [True: 0, False: 0]
  ------------------
 7176|      0|                    continue;   // already entirely re-generated
 7177|      0|                }
 7178|      0|                p_offset = total_out;
 7179|      0|            }
 7180|     17|        }
 7181|     17|        if (fo) {
  ------------------
  |  Branch (7181:13): [True: 17, False: 0]
  ------------------
 7182|     17|            fo->seek(p_offset, SEEK_SET);
 7183|     17|        }
 7184|     17|        unpackExtent(wanted, fo, c_adler, u_adler, false);
 7185|     17|    }
 7186|    266|    funpad4(fi);
 7187|    266|    loader_offset = fi->tell();
 7188|       |
 7189|       |    // Handle PT_LOAD with PF_W: writeable, so not compressed.  "Slide"
 7190|    266|    o_phdr = (Elf64_Phdr const *)(1+ ehdro);
 7191|    266|    Elf64_Phdr const *i_phdr = phdri;
 7192|    648|    for (unsigned j = 0; j < e_phnum; ++j, ++o_phdr, ++i_phdr) {
  ------------------
  |  Branch (7192:26): [True: 382, False: 266]
  ------------------
 7193|    382|        unsigned type = get_te32(&o_phdr->p_type);
 7194|    382|        unsigned flags = get_te32(&o_phdr->p_flags);
 7195|    382|        if (PT_LOAD != type || !(Elf64_Phdr::PF_W & flags)) {
  ------------------
  |  |   56|    382|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  |  Branch (7195:13): [True: 374, False: 8]
  |  Branch (7195:32): [True: 6, False: 2]
  ------------------
 7196|    380|            continue;
 7197|    380|        }
 7198|      2|        unsigned filesz = get_te64(&o_phdr->p_filesz);
 7199|      2|        unsigned o_offset = get_te64(&o_phdr->p_offset);
 7200|      2|        unsigned i_offset = get_te64(&i_phdr->p_offset);
 7201|      2|        fi->seek(i_offset, SEEK_SET);
 7202|      2|        fi->readx(ibuf, filesz);
 7203|      2|        total_in += filesz;
 7204|      2|        if (fo) {
  ------------------
  |  Branch (7204:13): [True: 2, False: 0]
  ------------------
 7205|      2|            fo->seek(o_offset, SEEK_SET);
 7206|      2|            fo->write(ibuf, filesz);
 7207|      2|        }
 7208|      2|        total_out = filesz + o_offset;  // high-water mark
 7209|      2|    }
 7210|       |
 7211|       |    // Gaps between PT_LOAD will be handled by ::unpack()
 7212|       |
 7213|       |    // position fi at loader offset
 7214|       |    fi->seek(loader_offset, SEEK_SET);
 7215|    266|}
_ZN14PackLinuxElf3210un_shlib_1EP10OutputFileR9MemBufferRjS4_j:
 7224|    172|{
 7225|       |    // xct_off [input side] was set by ::unpack when is_shlib
 7226|       |    // yct_off [output side] set here unless is_asl in next 'if' block
 7227|    172|    unsigned yct_off = xct_off;
 7228|       |
 7229|       |    // Below xct_off is not compressed (for benefit of rtld.)
 7230|    172|    fi->seek(0, SEEK_SET);
 7231|    172|    fi->readx(ibuf, umin(blocksize, file_size_u32));
 7232|       |
 7233|       |    // Determine if the extra page with copy of _Shdrs was spliced in.
 7234|       |    // This used to be the result of --android-shlib.
 7235|       |    // But in 2023-02 the forwarding of ARM_ATTRIBUTES (by appending)
 7236|       |    // takes care of this, so the 5th word before e_entry does not
 7237|       |    // have the low bit 1, so is_asl should not be set.
 7238|       |    // However, .so that were compressed before 2023-03
 7239|       |    // may be marked.
 7240|    172|    e_shoff = get_te32(&ehdri.e_shoff);
 7241|    172|    if (e_shoff && e_shnum
  ------------------
  |  Branch (7241:9): [True: 118, False: 54]
  |  Branch (7241:20): [True: 103, False: 15]
  ------------------
 7242|       |            // +36: (sizeof(PackHeader) + sizeof(overlay_offset))
 7243|       |            //    after Shdrs for ARM_ATTRIBUTES
 7244|    103|    &&  (((e_shoff + sizeof(Elf32_Shdr) * e_shnum) + 36) < file_size_u32)
  ------------------
  |  Branch (7244:9): [True: 20, False: 83]
  ------------------
 7245|    172|    ) { // possible --android-shlib
 7246|     20|        unsigned x = get_te32(&file_image[get_te32(&ehdri.e_entry) - (1+ 4)*sizeof(int)]);
 7247|     20|        if (1 & x) { // the clincher
  ------------------
  |  Branch (7247:13): [True: 1, False: 19]
  ------------------
 7248|      1|            is_asl = 1;
 7249|      1|            fi->seek(e_shoff, SEEK_SET);
 7250|      1|            mb_shdr.alloc(   sizeof(Elf32_Shdr) * e_shnum);
 7251|      1|            shdri = (Elf32_Shdr *)mb_shdr.getVoidPtr();
 7252|      1|            fi->readx(shdri, sizeof(Elf32_Shdr) * e_shnum);
 7253|      1|            yct_off = get_te32(&shdri->sh_offset);  // for the output file (de-compressed)
 7254|      1|            xct_off = asl_delta + yct_off;  // for the input file (compressed)
 7255|      1|        }
 7256|     20|    }
 7257|       |
 7258|       |    // Decompress first Extent.  Old style covers [0, xct_off)
 7259|       |    // which includes rtld constant data and eXecutable app code below DT_INIT.
 7260|       |    // In old style, the first compressed Extent is redundant
 7261|       |    // except for the compressed original Elf headers.
 7262|       |    // New style covers just Elf headers: the rest below xct_off is
 7263|       |    // rtld constant data: DT_*HASH, DT_SYMTAB, DT_STRTAB, etc.
 7264|       |    // New style puts eXecutable app code in second PT_LOAD
 7265|       |    // in order to mark Elf headers and rtld data as non-eXecutable.
 7266|    172|    fi->seek(overlay_offset - sizeof(l_info), SEEK_SET);
 7267|    172|    struct {
 7268|    172|        struct l_info l;
 7269|    172|        struct p_info p;
 7270|    172|        struct b_info b;
 7271|    172|    } hdr;
 7272|    172|    fi->readx(&hdr, sizeof(hdr));
 7273|    172|    if (hdr.l.l_magic != UPX_MAGIC_LE32
  ------------------
  |  |  534|    344|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (7273:9): [True: 16, False: 156]
  ------------------
 7274|    156|    ||  get_te16(&hdr.l.l_lsize) != (unsigned)lsize
  ------------------
  |  Branch (7274:9): [True: 0, False: 156]
  ------------------
 7275|    156|    ||  get_te32(&hdr.p.p_filesize) != ph.u_file_size
  ------------------
  |  Branch (7275:9): [True: 84, False: 72]
  ------------------
 7276|     72|    ||  get_te32(&hdr.b.sz_unc) < sz_elf_hdrs  // peek: 1st b_info covers Elf headers
  ------------------
  |  Branch (7276:9): [True: 1, False: 71]
  ------------------
 7277|    172|    ) {
 7278|     85|        throwCantUnpack("corrupt l_info/p_info/b_info");
 7279|     85|    }
 7280|     87|    fi->seek(-(off_t)sizeof(struct b_info), SEEK_CUR); // hdr.b_info was a peek
 7281|       |
 7282|       |// The default layout for a shared library created by binutils-2.29
 7283|       |// (Fedora 28; 2018) has two PT_LOAD: permissions r-x and rw-.
 7284|       |// xct_off (the lowest address of executable instructions;
 7285|       |// the highest address of read-only data used by rtld (ld-linux))
 7286|       |// will be somewhere in the first PT_LOAD.
 7287|       |//
 7288|       |// The default layout for a shared library created by binutils-2.31
 7289|       |// (Fedora 29; 2018) has four PT_LOAD: permissions r--, r-x, r--, rw-.
 7290|       |// xct_off will be the base of the second [r-x] PT_LOAD.
 7291|       |//
 7292|       |// Bytes below xct_off cannot be compressed because they are used
 7293|       |// by rtld *before* the UPX run-time de-compression stub gets control
 7294|       |// via DT_INIT. Bytes in a Writeable PT_LOAD cannot be compressed
 7295|       |// because they may be relocated by rtld, again before stub execution.
 7296|       |//
 7297|       |// We need to know which layout of PT_LOAD. It seems risky to steal
 7298|       |// bits in the input ElfXX_Ehdr or ElfXX_Phdr, so we decompress
 7299|       |// the first compressed block.  For an old-style shared library
 7300|       |// the first compressed block covers [0, xct_off) which is redundant
 7301|       |// with the interval [sz_elf_hdrs, xct_off) because those bytes
 7302|       |// must be present for use by rtl  (So that is a large inefficiency.)
 7303|       |// Fortunately p_info.p_blocksize fits in ibuf, and unpackExtent
 7304|       |// will just decompress it all.  For new style, the first compressed
 7305|       |// block covers [0, sz_elf_hdrs).
 7306|       |
 7307|       |    // Peek: unpack into ibuf, but do not write
 7308|     87|    unsigned const sz_block1 = unpackExtent(sz_elf_hdrs, nullptr,
 7309|     87|        c_adler, u_adler, false, -1);
 7310|     87|    if (sz_block1 < sz_elf_hdrs) {
  ------------------
  |  Branch (7310:9): [True: 0, False: 87]
  ------------------
 7311|      0|        throwCantUnpack("corrupt b_info");
 7312|      0|    }
 7313|     87|    memcpy(o_elfhdrs, ibuf, sz_elf_hdrs); // save de-compressed Elf headers
 7314|     87|    Elf32_Ehdr const *const ehdro = (Elf32_Ehdr const *)(void const *)o_elfhdrs;
 7315|     87|    if (ehdro->e_type   !=ehdri.e_type
  ------------------
  |  Branch (7315:9): [True: 29, False: 58]
  ------------------
 7316|     58|    ||  ehdro->e_machine!=ehdri.e_machine
  ------------------
  |  Branch (7316:9): [True: 0, False: 58]
  ------------------
 7317|     58|    ||  ehdro->e_version!=ehdri.e_version
  ------------------
  |  Branch (7317:9): [True: 0, False: 58]
  ------------------
 7318|       |        // less strict for EM_PPC to workaround earlier bug
 7319|     58|    ||  !( ehdro->e_flags==ehdri.e_flags
  ------------------
  |  Branch (7319:12): [True: 46, False: 12]
  ------------------
 7320|     12|        || Elf32_Ehdr::EM_PPC == get_te16(&ehdri.e_machine))
  ------------------
  |  Branch (7320:12): [True: 1, False: 11]
  ------------------
 7321|     47|    ||  ehdro->e_ehsize !=ehdri.e_ehsize
  ------------------
  |  Branch (7321:9): [True: 1, False: 46]
  ------------------
 7322|       |        // check EI_MAG[0-3], EI_CLASS, EI_DATA, EI_VERSION
 7323|     46|    ||  memcmp(ehdro->e_ident, ehdri.e_ident, Elf32_Ehdr::EI_OSABI)) {
  ------------------
  |  Branch (7323:9): [True: 6, False: 40]
  ------------------
 7324|     19|        throwCantUnpack("ElfXX_Ehdr corrupted");
 7325|     19|    }
 7326|     68|    if (fo) {
  ------------------
  |  Branch (7326:9): [True: 40, False: 28]
  ------------------
 7327|     40|        fo->write(ibuf, sz_block1);
 7328|     40|        total_out = sz_block1;
 7329|     40|    }
 7330|     68|    Elf32_Phdr const *o_phdr = (Elf32_Phdr const *)(1+ ehdro);
 7331|       |    // Handle compressed PT_LOADs (must not have PF_W)
 7332|     68|    unsigned not_first_LOAD = 0;
 7333|    151|    for (unsigned j = 0; j < e_phnum; ++j, ++o_phdr) {
  ------------------
  |  Branch (7333:26): [True: 83, False: 68]
  ------------------
 7334|     83|        unsigned type = get_te32(&o_phdr->p_type);
 7335|     83|        unsigned flags = get_te32(&o_phdr->p_flags);
 7336|     83|        if (PT_LOAD != type || Elf32_Phdr::PF_W & flags) {
  ------------------
  |  |   56|     83|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  |  Branch (7336:13): [True: 63, False: 20]
  |  Branch (7336:32): [True: 3, False: 17]
  ------------------
 7337|     66|            continue;
 7338|     66|        }
 7339|     17|        unsigned p_offset = get_te32(&o_phdr->p_offset);
 7340|     17|        unsigned p_filesz = get_te32(&o_phdr->p_filesz);
 7341|     17|        unsigned wanted = p_filesz;
 7342|     17|        if (!not_first_LOAD++) { // first PT_LOAD
  ------------------
  |  Branch (7342:13): [True: 17, False: 0]
  ------------------
 7343|     17|            wanted -= sz_block1;
 7344|     17|            if (sz_block1 >  sz_elf_hdrs) { // old style
  ------------------
  |  Branch (7344:17): [True: 13, False: 4]
  ------------------
 7345|     13|                if (is_asl) {
  ------------------
  |  Branch (7345:21): [True: 0, False: 13]
  ------------------
 7346|      0|                    un_asl_dynsym(orig_file_size, fo);
 7347|      0|                }
 7348|     13|                p_offset += sz_block1;
 7349|     13|            }
 7350|     17|            if (sz_block1 == sz_elf_hdrs) { // new style
  ------------------
  |  Branch (7350:17): [True: 4, False: 13]
  ------------------
 7351|      4|                unsigned const len = (yct_off ? yct_off : xct_off) - sz_elf_hdrs;
  ------------------
  |  Branch (7351:39): [True: 4, False: 0]
  ------------------
 7352|      4|                unsigned const ipos = fi->tell();
 7353|      4|                fi->seek(sz_elf_hdrs, SEEK_SET);
 7354|      4|                fi->readx(&ibuf[sz_elf_hdrs], len);
 7355|      4|                if (is_asl) {
  ------------------
  |  Branch (7355:21): [True: 0, False: 4]
  ------------------
 7356|      0|                    un_asl_dynsym(orig_file_size, nullptr);
 7357|      0|                }
 7358|      4|                if (fo) {
  ------------------
  |  Branch (7358:21): [True: 3, False: 1]
  ------------------
 7359|      3|                    fo->write(&ibuf[sz_elf_hdrs], len);
 7360|      3|                }
 7361|      4|                total_out += len;
 7362|       |
 7363|       |// github-issue629: (overlay_offset = 0xa500), so initially (xct_off = 0xa494).
 7364|       |// But "yct_off = get_te32(&shdri->sh_offset)" so if _Shdrs are aligned (??)
 7365|       |// then (0x10500 == (xct_off = asl_delta + yct_off)), and we read+write
 7366|       |// more than we need.
 7367|       |// So assume the excess just lives there, or is overwritten later by seek+write.
 7368|      4|                if (wanted < len) { // FIXME: why does this happen?
  ------------------
  |  Branch (7368:21): [True: 0, False: 4]
  ------------------
 7369|      0|                    wanted = 0;
 7370|      0|                }
 7371|      4|                else {
 7372|      4|                    wanted -= len;
 7373|      4|                }
 7374|      4|                fi->seek(ipos, SEEK_SET);
 7375|      4|                if (total_out == p_filesz) {
  ------------------
  |  Branch (7375:21): [True: 0, False: 4]
  ------------------
 7376|      0|                    continue;   // already entirely re-generated
 7377|      0|                }
 7378|      4|                p_offset = total_out;
 7379|      4|            }
 7380|     17|        }
 7381|     17|        if (fo) {
  ------------------
  |  Branch (7381:13): [True: 16, False: 1]
  ------------------
 7382|     16|            fo->seek(p_offset, SEEK_SET);
 7383|     16|        }
 7384|     17|        unpackExtent(wanted, fo, c_adler, u_adler, false);
 7385|     17|    }
 7386|     68|    funpad4(fi);
 7387|     68|    loader_offset = fi->tell();
 7388|       |
 7389|       |    // Handle PT_LOAD with PF_W: writeable, so not compressed.  "Slide"
 7390|     68|    o_phdr = (Elf32_Phdr const *)(1+ ehdro);
 7391|     68|    Elf32_Phdr const *i_phdr = phdri;
 7392|    124|    for (unsigned j = 0; j < e_phnum; ++j, ++o_phdr, ++i_phdr) {
  ------------------
  |  Branch (7392:26): [True: 56, False: 68]
  ------------------
 7393|     56|        unsigned type = get_te32(&o_phdr->p_type);
 7394|     56|        unsigned flags = get_te32(&o_phdr->p_flags);
 7395|     56|        if (PT_LOAD != type || !(Elf32_Phdr::PF_W & flags)) {
  ------------------
  |  |   56|     56|#define PT_LOAD Elf32_Phdr::PT_LOAD  /* 64-bit PT_LOAD is the same */
  ------------------
  |  Branch (7395:13): [True: 49, False: 7]
  |  Branch (7395:32): [True: 4, False: 3]
  ------------------
 7396|     53|            continue;
 7397|     53|        }
 7398|      3|        unsigned filesz = get_te32(&o_phdr->p_filesz);
 7399|      3|        unsigned o_offset = get_te32(&o_phdr->p_offset);
 7400|      3|        unsigned i_offset = get_te32(&i_phdr->p_offset);
 7401|      3|        fi->seek(i_offset, SEEK_SET);
 7402|      3|        fi->readx(ibuf, filesz);
 7403|      3|        total_in += filesz;
 7404|      3|        if (fo) {
  ------------------
  |  Branch (7404:13): [True: 3, False: 0]
  ------------------
 7405|      3|            fo->seek(o_offset, SEEK_SET);
 7406|      3|            fo->write(ibuf, filesz);
 7407|      3|        }
 7408|      3|        total_out = filesz + o_offset;  // high-water mark
 7409|      3|    }
 7410|       |
 7411|       |    // Gaps between PT_LOAD will be handled by ::unpack()
 7412|       |
 7413|       |    // position fi at loader offset
 7414|       |    fi->seek(loader_offset, SEEK_SET);
 7415|     68|}
_ZN14PackLinuxElf3210un_DT_INITEjPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEES9_P10OutputFile:
 7423|     13|{
 7424|       |    // DT_INIT must be restored.
 7425|       |    // If android_shlib, then the asl_delta relocations must be un-done.
 7426|     13|    unsigned n_plt = 0;
 7427|     13|    upx_uint32_t dt_pltrelsz(0), dt_jmprel(0), dt_pltgot(0);
 7428|     13|    upx_uint32_t dt_relsz(0), dt_rel(0);
 7429|     13|    upx_uint32_t const dyn_len = get_te32(&dynhdr->p_filesz);
 7430|     13|    upx_uint32_t const dyn_off = get_te32(&dynhdr->p_offset);
 7431|     13|    if (file_size_u32 < (dyn_len + dyn_off)) {
  ------------------
  |  Branch (7431:9): [True: 6, False: 7]
  ------------------
 7432|      6|        char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      6|#define snprintf  upx_safe_snprintf
  ------------------
 7433|      6|                "bad PT_DYNAMIC .p_filesz %#lx", (long unsigned)dyn_len);
 7434|      6|        throwCantUnpack(msg);
 7435|      6|    }
 7436|      7|    fi->seek(dyn_off, SEEK_SET);
 7437|      7|    fi->readx(ibuf, dyn_len);
 7438|      7|    Elf32_Dyn *dyn = (Elf32_Dyn *)(void *)ibuf;
 7439|      7|    dynseg = dyn; invert_pt_dynamic(dynseg,
 7440|      7|        umin(dyn_len, file_size_u32 - dyn_off));
 7441|      7|    for (unsigned j2= 0; j2 < dyn_len; ++dyn, j2 += sizeof(*dyn)) {
  ------------------
  |  Branch (7441:26): [True: 0, False: 7]
  ------------------
 7442|      0|        upx_uint32_t const tag = get_te32(&dyn->d_tag);
 7443|      0|        upx_uint32_t       val = get_te32(&dyn->d_val);
 7444|      0|        if (is_asl) switch (tag) {
  ------------------
  |  Branch (7444:13): [True: 0, False: 0]
  |  Branch (7444:29): [True: 0, False: 0]
  ------------------
 7445|      0|        case Elf32_Dyn::DT_RELASZ:   { dt_relsz   = val; } break;
  ------------------
  |  Branch (7445:9): [True: 0, False: 0]
  ------------------
 7446|      0|        case Elf32_Dyn::DT_RELA:     { dt_rel     = val; } break;
  ------------------
  |  Branch (7446:9): [True: 0, False: 0]
  ------------------
 7447|      0|        case Elf32_Dyn::DT_JMPREL:   { dt_jmprel   = val; } break;
  ------------------
  |  Branch (7447:9): [True: 0, False: 0]
  ------------------
 7448|      0|        case Elf32_Dyn::DT_PLTRELSZ: { dt_pltrelsz = val;
  ------------------
  |  Branch (7448:9): [True: 0, False: 0]
  ------------------
 7449|      0|            n_plt = dt_pltrelsz / sizeof(Elf32_Rel);
 7450|      0|            if (is_asl) {
  ------------------
  |  Branch (7450:17): [True: 0, False: 0]
  ------------------
 7451|      0|                n_plt += 3;  // FIXME
 7452|      0|            }
 7453|      0|        };  break;
 7454|       |
 7455|      0|        case Elf32_Dyn::DT_PLTGOT:   { plt_va = dt_pltgot = val; (void)dt_pltgot; }
  ------------------
  |  Branch (7455:9): [True: 0, False: 0]
  ------------------
 7456|       |        // FALL THROUGH
 7457|      0|        case Elf32_Dyn::DT_PREINIT_ARRAY:
  ------------------
  |  Branch (7457:9): [True: 0, False: 0]
  ------------------
 7458|      0|        case Elf32_Dyn::DT_INIT_ARRAY:
  ------------------
  |  Branch (7458:9): [True: 0, False: 0]
  ------------------
 7459|      0|        case Elf32_Dyn::DT_FINI_ARRAY:
  ------------------
  |  Branch (7459:9): [True: 0, False: 0]
  ------------------
 7460|      0|        case Elf32_Dyn::DT_FINI: if (is_asl) {
  ------------------
  |  Branch (7460:9): [True: 0, False: 0]
  |  Branch (7460:38): [True: 0, False: 0]
  ------------------
 7461|      0|            set_te32(&dyn->d_val, val - asl_delta);
 7462|      0|        }; break;
 7463|      0|        } // end switch() on tag when is_asl
 7464|      0|        if (upx_dt_init == tag) {
  ------------------
  |  Branch (7464:13): [True: 0, False: 0]
  ------------------
 7465|      0|            if (Elf32_Dyn::DT_INIT == tag) { // the easy case
  ------------------
  |  Branch (7465:17): [True: 0, False: 0]
  ------------------
 7466|      0|                set_te32(&dyn->d_val, old_dtinit);
 7467|      0|                if (!old_dtinit) { // compressor took the slot
  ------------------
  |  Branch (7467:21): [True: 0, False: 0]
  ------------------
 7468|      0|                    dyn->d_tag = Elf32_Dyn::DT_NULL;
 7469|      0|                    dyn->d_val = 0;
 7470|      0|                }
 7471|      0|            }
 7472|       |            // Apparently the hard case is common for some Android IDEs.
 7473|      0|            else if (Elf32_Dyn::DT_INIT_ARRAY    == tag
  ------------------
  |  Branch (7473:22): [True: 0, False: 0]
  ------------------
 7474|      0|            ||       Elf32_Dyn::DT_PREINIT_ARRAY == tag) {
  ------------------
  |  Branch (7474:22): [True: 0, False: 0]
  ------------------
 7475|       |                // 'val' is the RVA of the first slot, which is the slot that
 7476|       |                // the compressor changed to be the entry to the run-time stub.
 7477|      0|                Elf32_Dyn *dyn_null = elf_find_dynptr(Elf32_Dyn::DT_NULL);
 7478|      0|                if (!dyn_null)
  ------------------
  |  Branch (7478:21): [True: 0, False: 0]
  ------------------
 7479|      0|                    throwCantUnpack("bad PT_DYNAMIC .end");
 7480|      0|                Elf32_Rel *rp = (Elf32_Rel *)elf_find_dynamic(dyn_null->d_val);
 7481|      0|                dyn_null->d_val = 0;
 7482|      0|                if (rp) {
  ------------------
  |  Branch (7482:21): [True: 0, False: 0]
  ------------------
 7483|       |                    // Compressor saved the original *rp in dynsym[0]
 7484|      0|                    Elf32_Rel *rp_unc = (Elf32_Rel *)&dynsym[0];  // pointer
 7485|      0|                    rp->r_info = rp_unc->r_info;  // restore original r_info; r_offset not touched
 7486|       |
 7487|      0|                    unsigned e_entry = get_te32(&ehdri.e_entry);
 7488|      0|                    unsigned init_rva = get_te32(&file_image[e_entry - 3*sizeof(unsigned)]);
 7489|      0|                    unsigned arr_rva = get_te32(&rp_unc->r_offset);
 7490|      0|                    Elf32_Phdr const *phdr = elf_find_Phdr_for_va(arr_rva, phdro, e_phnum);
 7491|      0|                    unsigned arr_off = (arr_rva - get_te32(&phdr->p_vaddr)) + get_te32(&phdr->p_offset);
 7492|       |
 7493|      0|                    rp_unc->r_offset = 0;    rp_unc->r_info = 0;
 7494|      0|                    if (fo)  {
  ------------------
  |  Branch (7494:25): [True: 0, False: 0]
  ------------------
 7495|      0|                        fo->seek(elf_unsigned_dynamic(Elf32_Dyn::DT_SYMTAB), SEEK_SET);
 7496|      0|                        fo->rewrite(rp_unc, sizeof(Elf32_Rel));  // clear dynsym[0]
 7497|       |
 7498|      0|                        fo->seek((char *)rp - (char *)&file_image[0], SEEK_SET);
 7499|      0|                        fo->rewrite(rp, sizeof(*rp));  // restore original *rp
 7500|      0|                    }
 7501|       |
 7502|       |                    // Set arr[0] to the first user init routine.
 7503|      0|                    unsigned r_info = get_te32(&rp->r_info);
 7504|      0|                    unsigned r_type = ELF32_R_TYPE(r_info);
 7505|      0|                    unsigned word;
 7506|      0|                    if (Elf32_Ehdr::EM_ARM == e_machine) {
  ------------------
  |  Branch (7506:25): [True: 0, False: 0]
  ------------------
 7507|      0|                        if (R_ARM_RELATIVE == r_type) {
  ------------------
  |  Branch (7507:29): [True: 0, False: 0]
  ------------------
 7508|      0|                            set_te32(&word, init_rva);
 7509|      0|                        }
 7510|      0|                        else if (R_ARM_ABS32 == r_type) {
  ------------------
  |  Branch (7510:34): [True: 0, False: 0]
  ------------------
 7511|      0|                            word = 0;
 7512|      0|                        }
 7513|      0|                        else {
 7514|      0|                            char msg[40]; snprintf(msg, sizeof(msg), "unknown relocation: %#x",
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 7515|      0|                                r_type);
 7516|      0|                            throwCantUnpack(msg);
 7517|      0|                        }
 7518|      0|                    }
 7519|      0|                    else if (Elf32_Ehdr::EM_386 == e_machine) {
  ------------------
  |  Branch (7519:30): [True: 0, False: 0]
  ------------------
 7520|      0|                        if (R_386_RELATIVE == r_type) {
  ------------------
  |  Branch (7520:29): [True: 0, False: 0]
  ------------------
 7521|      0|                        }
 7522|      0|                        else if (R_386_32 == r_type) {
  ------------------
  |  Branch (7522:34): [True: 0, False: 0]
  ------------------
 7523|      0|                        }
 7524|      0|                        if (R_386_RELATIVE == r_type) {
  ------------------
  |  Branch (7524:29): [True: 0, False: 0]
  ------------------
 7525|      0|                            set_te32(&word, init_rva);
 7526|      0|                        }
 7527|      0|                        else if (R_386_32 == r_type) {
  ------------------
  |  Branch (7527:34): [True: 0, False: 0]
  ------------------
 7528|      0|                            word = 0;
 7529|      0|                        }
 7530|      0|                        else {
 7531|      0|                            char msg[40]; snprintf(msg, sizeof(msg), "unknown relocation: %#x",
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 7532|      0|                                r_type);
 7533|      0|                            throwCantUnpack(msg);
 7534|      0|                        }
 7535|      0|                    }
 7536|      0|                    if (fo) {
  ------------------
  |  Branch (7536:25): [True: 0, False: 0]
  ------------------
 7537|      0|                        fo->seek(arr_off, SEEK_SET);
 7538|      0|                        fo->rewrite(&word, sizeof(unsigned));
 7539|      0|                        fo->seek(0, SEEK_END);
 7540|      0|                    }
 7541|      0|                }
 7542|      0|            }
 7543|      0|        }
 7544|      0|    }
 7545|      7|    if (fo) { // Write updated dt_*.val
  ------------------
  |  Branch (7545:9): [True: 0, False: 7]
  ------------------
 7546|      0|        upx_uint32_t dyn_offo = get_te32(&phdro[dynhdr - phdri].p_offset);
 7547|      0|        fo->seek(dyn_offo, SEEK_SET);
 7548|      0|        fo->rewrite(ibuf, dyn_len);
 7549|      0|    }
 7550|      7|    if (is_asl) {
  ------------------
  |  Branch (7550:9): [True: 0, False: 7]
  ------------------
 7551|      0|        MemBuffer ptload1;  // FIXME.  file_image has the whole file; ibuf is available
 7552|      0|        lowmem.alloc(xct_off);
 7553|      0|        fi->seek(0, SEEK_SET);
 7554|      0|        fi->read(lowmem, xct_off);  // contains relocation tables
 7555|      0|        if (dt_relsz && dt_rel) {
  ------------------
  |  Branch (7555:13): [True: 0, False: 0]
  |  Branch (7555:25): [True: 0, False: 0]
  ------------------
 7556|      0|            Elf32_Rel *const rel0 = (Elf32_Rel *)lowmem.subref(
 7557|      0|                "bad Rel offset", dt_rel, dt_relsz);
 7558|      0|            unRel32(dt_rel, rel0, dt_relsz, ptload1, old_dtinit, fo);
 7559|      0|        }
 7560|      0|        if (dt_pltrelsz && dt_jmprel) { // FIXME:  overlap w/ DT_REL ?
  ------------------
  |  Branch (7560:13): [True: 0, False: 0]
  |  Branch (7560:28): [True: 0, False: 0]
  ------------------
 7561|      0|            Elf32_Rel *const jmp0 = (Elf32_Rel *)lowmem.subref(
 7562|      0|                "bad Jmprel offset", dt_jmprel, dt_pltrelsz);
 7563|      0|            jump_slots.alloc(n_plt * sizeof(upx_uint32_t));
 7564|      0|            Elf32_Phdr const *phdr = phdri;
 7565|      0|            for (unsigned j = 0; j < e_phnum; ++j, ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7565:34): [True: 0, False: 0]
  |  Branch (7565:64): [True: 0, False: 0]
  ------------------
 7566|      0|                upx_uint32_t vaddr = get_te32(&phdr->p_vaddr);
 7567|      0|                upx_uint32_t filesz = get_te32(&phdr->p_filesz);
 7568|      0|                upx_uint32_t d = plt_va - vaddr;
 7569|      0|                if (d < filesz) {
  ------------------
  |  Branch (7569:21): [True: 0, False: 0]
  ------------------
 7570|      0|                    upx_uint32_t offset = get_te32(&phdr->p_offset);
 7571|      0|                    fi->seek(d + offset, SEEK_SET);
 7572|      0|                    fi->readx(jump_slots, n_plt * sizeof(upx_uint32_t));
 7573|      0|                    break;
 7574|      0|                }
 7575|      0|            }
 7576|      0|            unRel32(dt_jmprel, jmp0, dt_pltrelsz, ptload1, old_dtinit, fo);
 7577|       |
 7578|      0|            Elf32_Ehdr const *const o_ehdr = (Elf32_Ehdr const *)(void *)lowmem;
 7579|      0|            unsigned const o_phnum = o_ehdr->e_phnum;
 7580|      0|            if (((1<<16) - sizeof(Elf32_Ehdr)) / sizeof(Elf32_Phdr) < o_phnum)
  ------------------
  |  Branch (7580:17): [True: 0, False: 0]
  ------------------
 7581|      0|                throwCantUnpack("bad Ehdr.e_phnum %#x", o_phnum);
 7582|      0|            phdr = phdro;
 7583|      0|            for (unsigned j = 0; j < o_phnum; ++j, ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7583:34): [True: 0, False: 0]
  |  Branch (7583:64): [True: 0, False: 0]
  ------------------
 7584|      0|                upx_uint32_t vaddr = get_te32(&phdr->p_vaddr);
 7585|      0|                upx_uint32_t filesz = get_te32(&phdr->p_filesz);
 7586|      0|                upx_uint32_t d = plt_va - vaddr - asl_delta;
 7587|      0|                if (d < filesz) {
  ------------------
  |  Branch (7587:21): [True: 0, False: 0]
  ------------------
 7588|      0|                    upx_uint32_t offset = get_te32(&phdr->p_offset);
 7589|      0|                    if ((upx_uint32_t)file_size <= offset)
  ------------------
  |  Branch (7589:25): [True: 0, False: 0]
  ------------------
 7590|      0|                        throwCantUnpack("bad phdr[%d].p_offset %#zx", j, (size_t)offset);
 7591|      0|                    if (fo) {
  ------------------
  |  Branch (7591:25): [True: 0, False: 0]
  ------------------
 7592|      0|                        fo->seek(d + offset, SEEK_SET);
 7593|      0|                        fo->rewrite(jump_slots, n_plt * sizeof(upx_uint32_t));
 7594|      0|                    }
 7595|      0|                    break;
 7596|      0|                }
 7597|      0|            }
 7598|      0|        }
 7599|       |        // Modified relocation tables are re-written by unRel32
 7600|      0|    }
 7601|      7|}
_ZN14PackLinuxElf6410un_DT_INITEjPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEESA_P10OutputFile:
 7609|     76|{
 7610|       |    // DT_INIT must be restored.
 7611|       |    // If android_shlib, then the asl_delta relocations must be un-done.
 7612|     76|    unsigned n_plt = 0;
 7613|     76|    upx_uint64_t dt_pltrelsz(0), dt_jmprel(0), dt_pltgot(0);
 7614|     76|    upx_uint64_t dt_relasz(0), dt_rela(0);
 7615|     76|    upx_uint64_t const dyn_len = get_te64(&dynhdr->p_filesz);
 7616|     76|    upx_uint64_t const dyn_off = get_te64(&dynhdr->p_offset);
 7617|     76|    if (file_size_u < (dyn_len + dyn_off)) {
  ------------------
  |  Branch (7617:9): [True: 68, False: 8]
  ------------------
 7618|     68|        char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     68|#define snprintf  upx_safe_snprintf
  ------------------
 7619|     68|                "bad PT_DYNAMIC .p_filesz %#lx", (long unsigned)dyn_len);
 7620|     68|        throwCantUnpack(msg);
 7621|     68|    }
 7622|      8|    fi->seek(dyn_off, SEEK_SET);
 7623|      8|    fi->readx(ibuf, dyn_len);
 7624|      8|    Elf64_Dyn *dyn = (Elf64_Dyn *)(void *)ibuf;
 7625|      8|    dynseg = dyn; invert_pt_dynamic(dynseg,
 7626|      8|        umin(dyn_len, file_size_u - dyn_off));
 7627|      8|    for (unsigned j2= 0; j2 < dyn_len; ++dyn, j2 += sizeof(*dyn)) {
  ------------------
  |  Branch (7627:26): [True: 0, False: 8]
  ------------------
 7628|      0|        upx_uint64_t const tag = get_te64(&dyn->d_tag);
 7629|      0|        upx_uint64_t       val = get_te64(&dyn->d_val);
 7630|      0|        if (is_asl) switch (tag) {
  ------------------
  |  Branch (7630:13): [True: 0, False: 0]
  |  Branch (7630:29): [True: 0, False: 0]
  ------------------
 7631|      0|        case Elf64_Dyn::DT_RELASZ:   { dt_relasz   = val; } break;
  ------------------
  |  Branch (7631:9): [True: 0, False: 0]
  ------------------
 7632|      0|        case Elf64_Dyn::DT_RELA:     { dt_rela     = val; } break;
  ------------------
  |  Branch (7632:9): [True: 0, False: 0]
  ------------------
 7633|      0|        case Elf64_Dyn::DT_JMPREL:   { dt_jmprel   = val; } break;
  ------------------
  |  Branch (7633:9): [True: 0, False: 0]
  ------------------
 7634|      0|        case Elf64_Dyn::DT_PLTRELSZ: { dt_pltrelsz = val;
  ------------------
  |  Branch (7634:9): [True: 0, False: 0]
  ------------------
 7635|      0|            n_plt = dt_pltrelsz / sizeof(Elf32_Rel);
 7636|      0|            if (is_asl) {
  ------------------
  |  Branch (7636:17): [True: 0, False: 0]
  ------------------
 7637|      0|                n_plt += 3;  // FIXME
 7638|      0|            }
 7639|      0|        };  break;
 7640|       |
 7641|      0|        case Elf64_Dyn::DT_PLTGOT:   { plt_va = dt_pltgot = val; (void)dt_pltgot;}
  ------------------
  |  Branch (7641:9): [True: 0, False: 0]
  ------------------
 7642|       |        // FALL THROUGH
 7643|      0|        case Elf64_Dyn::DT_PREINIT_ARRAY:
  ------------------
  |  Branch (7643:9): [True: 0, False: 0]
  ------------------
 7644|      0|        case Elf64_Dyn::DT_INIT_ARRAY:
  ------------------
  |  Branch (7644:9): [True: 0, False: 0]
  ------------------
 7645|      0|        case Elf64_Dyn::DT_FINI_ARRAY:
  ------------------
  |  Branch (7645:9): [True: 0, False: 0]
  ------------------
 7646|      0|        case Elf64_Dyn::DT_FINI: if (is_asl) {
  ------------------
  |  Branch (7646:9): [True: 0, False: 0]
  |  Branch (7646:38): [True: 0, False: 0]
  ------------------
 7647|      0|            set_te64(&dyn->d_val, val - asl_delta);
 7648|      0|        }; break;
 7649|      0|        } // end switch() on tag when is_asl
 7650|      0|        if (upx_dt_init == tag) { // the easy case
  ------------------
  |  Branch (7650:13): [True: 0, False: 0]
  ------------------
 7651|      0|            if (Elf64_Dyn::DT_INIT == tag) {
  ------------------
  |  Branch (7651:17): [True: 0, False: 0]
  ------------------
 7652|      0|                set_te64(&dyn->d_val, old_dtinit);
 7653|      0|                if (!old_dtinit) { // compressor took the slot
  ------------------
  |  Branch (7653:21): [True: 0, False: 0]
  ------------------
 7654|      0|                    dyn->d_tag = Elf64_Dyn::DT_NULL;
 7655|      0|                    dyn->d_val = 0;
 7656|      0|                }
 7657|      0|            }
 7658|       |            // Apparently the hard case is common for some Android IDEs.
 7659|       |            // No DT_INIT; only DT_INIT_ARRAY.
 7660|      0|            else if (Elf64_Dyn::DT_INIT_ARRAY    == tag
  ------------------
  |  Branch (7660:22): [True: 0, False: 0]
  ------------------
 7661|      0|            ||       Elf64_Dyn::DT_PREINIT_ARRAY == tag) {
  ------------------
  |  Branch (7661:22): [True: 0, False: 0]
  ------------------
 7662|       |                // 'val' is the RVA of the first slot, which is the slot that
 7663|       |                // the compressor changed to be the entry to the run-time stub.
 7664|      0|                Elf64_Dyn *dyn_null = elf_find_dynptr(Elf64_Dyn::DT_NULL);
 7665|      0|                if (!dyn_null)
  ------------------
  |  Branch (7665:21): [True: 0, False: 0]
  ------------------
 7666|      0|                    throwCantUnpack("bad PT_DYNAMIC .end");
 7667|      0|                Elf64_Rela *rp = (Elf64_Rela *)elf_find_dynamic(dyn_null->d_val);
 7668|      0|                dyn_null->d_val = 0;
 7669|      0|                if (rp) {
  ------------------
  |  Branch (7669:21): [True: 0, False: 0]
  ------------------
 7670|      0|                    if ((char *)rp + sizeof(Elf64_Rela) > (char *)&file_image[0] + file_size_u)
  ------------------
  |  Branch (7670:25): [True: 0, False: 0]
  ------------------
 7671|      0|                        throwCantUnpack("bad DT_INIT_ARRAY relocation offset");
 7672|      0|                    if ((char *)&dynsym[1] > (char *)&file_image[0] + file_size_u)
  ------------------
  |  Branch (7672:25): [True: 0, False: 0]
  ------------------
 7673|      0|                        throwCantUnpack("bad dynsym for DT_INIT_ARRAY");
 7674|       |                    // Compressor saved the original *rp in dynsym[0]
 7675|      0|                    Elf64_Rela *rp_unc = (Elf64_Rela *)&dynsym[0];  // pointer
 7676|      0|                    rp->r_info = rp_unc->r_info;  // restore original r_info; r_offset not touched
 7677|      0|                    rp->r_addend = rp_unc->r_addend;
 7678|       |
 7679|      0|                    unsigned arr_rva = get_te64(&rp_unc->r_offset);
 7680|      0|                    Elf64_Phdr const *phdr = elf_find_Phdr_for_va(arr_rva, phdro, e_phnum);
 7681|      0|                    unsigned arr_off = (arr_rva - get_te64(&phdr->p_vaddr)) + get_te64(&phdr->p_offset);
 7682|       |
 7683|      0|                    if (fo)  {
  ------------------
  |  Branch (7683:25): [True: 0, False: 0]
  ------------------
 7684|      0|                        memset(rp_unc, 0, sizeof(*rp_unc));
 7685|      0|                        fo->seek(elf_unsigned_dynamic(Elf64_Dyn::DT_SYMTAB), SEEK_SET);
 7686|      0|                        fo->rewrite(rp_unc, sizeof(Elf64_Rela));  // clear dynsym[0]
 7687|       |
 7688|      0|                        fo->seek((char *)rp - (char *)&file_image[0], SEEK_SET);
 7689|      0|                        fo->rewrite(rp, sizeof(*rp));  // restore original *rp
 7690|       |
 7691|       |                        // Elf64_Rela overwrites; but put back original.
 7692|      0|                        fo->seek(arr_off, SEEK_SET);
 7693|      0|                        fo->rewrite(rp_unc, sizeof(u64_t));
 7694|       |
 7695|      0|                        fo->seek(0, SEEK_END);
 7696|      0|                    }
 7697|      0|                }
 7698|      0|            }
 7699|      0|        }
 7700|      0|    }
 7701|      8|    if (fo) { // Write updated dt_*.val
  ------------------
  |  Branch (7701:9): [True: 0, False: 8]
  ------------------
 7702|      0|        upx_uint64_t dyn_offo = get_te64(&phdro[dynhdr - phdri].p_offset);
 7703|      0|        fo->seek(dyn_offo, SEEK_SET);
 7704|      0|        fo->rewrite(ibuf, dyn_len);
 7705|      0|    }
 7706|      8|    if (is_asl) {
  ------------------
  |  Branch (7706:9): [True: 0, False: 8]
  ------------------
 7707|      0|        lowmem.alloc(xct_off);
 7708|      0|        fi->seek(0, SEEK_SET);
 7709|      0|        fi->read(lowmem, xct_off);  // contains relocation tables
 7710|      0|        if (dt_relasz && dt_rela) {
  ------------------
  |  Branch (7710:13): [True: 0, False: 0]
  |  Branch (7710:26): [True: 0, False: 0]
  ------------------
 7711|      0|            Elf64_Rela *const rela0 = (Elf64_Rela *)lowmem.subref(
 7712|      0|                "bad Rela offset", dt_rela, dt_relasz);
 7713|      0|            unRela64(dt_rela, rela0, dt_relasz, old_dtinit, fo);
 7714|      0|        }
 7715|      0|        if (dt_pltrelsz && dt_jmprel) { // FIXME:  overlap w/ DT_REL ?
  ------------------
  |  Branch (7715:13): [True: 0, False: 0]
  |  Branch (7715:28): [True: 0, False: 0]
  ------------------
 7716|      0|            Elf64_Rela *const jmp0 = (Elf64_Rela *)lowmem.subref(
 7717|      0|                "bad Jmprel offset", dt_jmprel, dt_pltrelsz);
 7718|      0|            jump_slots.alloc(n_plt * sizeof(upx_uint64_t));
 7719|      0|            Elf64_Phdr const *phdr = phdri;
 7720|      0|            for (unsigned j = 0; j < e_phnum; ++j, ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7720:34): [True: 0, False: 0]
  |  Branch (7720:64): [True: 0, False: 0]
  ------------------
 7721|      0|                upx_uint64_t vaddr = get_te64(&phdr->p_vaddr);
 7722|      0|                upx_uint64_t filesz = get_te64(&phdr->p_filesz);
 7723|      0|                upx_uint64_t d = plt_va - vaddr;
 7724|      0|                if (d < filesz) {
  ------------------
  |  Branch (7724:21): [True: 0, False: 0]
  ------------------
 7725|      0|                    upx_uint64_t offset = get_te64(&phdr->p_offset);
 7726|      0|                    fi->seek(d + offset, SEEK_SET);
 7727|      0|                    fi->readx(jump_slots, n_plt * sizeof(upx_uint64_t));
 7728|      0|                    break;
 7729|      0|                }
 7730|      0|            }
 7731|      0|            unRela64(dt_jmprel, jmp0, dt_pltrelsz, old_dtinit, fo);
 7732|       |
 7733|      0|            Elf64_Ehdr const *const o_ehdr = (Elf64_Ehdr const *)(void *)lowmem;
 7734|      0|            unsigned const o_phnum = o_ehdr->e_phnum;
 7735|      0|            if (((1<<16) - sizeof(Elf64_Ehdr)) / sizeof(Elf64_Phdr) < o_phnum)
  ------------------
  |  Branch (7735:17): [True: 0, False: 0]
  ------------------
 7736|      0|                throwCantUnpack("bad Ehdr.e_phnum %#x", o_phnum);
 7737|      0|            phdr = phdro;
 7738|      0|            for (unsigned j = 0; j < o_phnum; ++j, ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7738:34): [True: 0, False: 0]
  |  Branch (7738:64): [True: 0, False: 0]
  ------------------
 7739|      0|                upx_uint64_t vaddr = get_te64(&phdr->p_vaddr);
 7740|      0|                upx_uint64_t filesz = get_te64(&phdr->p_filesz);
 7741|      0|                upx_uint64_t d = plt_va - vaddr - asl_delta;
 7742|      0|                if (d < filesz) {
  ------------------
  |  Branch (7742:21): [True: 0, False: 0]
  ------------------
 7743|      0|                    upx_uint64_t offset = get_te64(&phdr->p_offset);
 7744|      0|                    if ((upx_uint64_t)file_size <= offset)
  ------------------
  |  Branch (7744:25): [True: 0, False: 0]
  ------------------
 7745|      0|                        throwCantUnpack("bad phdr[%d].p_offset %#zx", j, (size_t)offset);
 7746|      0|                    if (fo) {
  ------------------
  |  Branch (7746:25): [True: 0, False: 0]
  ------------------
 7747|      0|                        fo->seek(d + offset, SEEK_SET);
 7748|      0|                        fo->rewrite(jump_slots, n_plt * sizeof(upx_uint64_t));
 7749|      0|                    }
 7750|      0|                    break;
 7751|      0|                }
 7752|      0|            }
 7753|      0|        }
 7754|       |        // Modified relocation tables are re-written by unRela64
 7755|      0|    }
 7756|      8|}
_ZN14PackLinuxElf646unpackEP10OutputFile:
 7759|  1.15k|{
 7760|  1.15k|    if (e_phoff != sizeof(Elf64_Ehdr)) {// Phdrs not contiguous with Ehdr
  ------------------
  |  Branch (7760:9): [True: 0, False: 1.15k]
  ------------------
 7761|      0|        throwCantUnpack("bad e_phoff");
 7762|      0|    }
 7763|  1.15k|    unsigned const c_phnum = get_te16(&ehdri.e_phnum);
 7764|  1.15k|    unsigned u_phnum = 0;
 7765|  1.15k|    upx_uint64_t old_dtinit = 0;
 7766|       |
 7767|  1.15k|    if (Elf64_Ehdr::ET_EXEC == get_te16(&ehdri.e_type)) {
  ------------------
  |  Branch (7767:9): [True: 1.13k, False: 16]
  ------------------
 7768|       |// 40fddf17153ee3db73a04ff1bf288b91676138d6 2001-02-01 ph.version 11; b_info 12 bytes
 7769|       |// df9db96bd1c013c07da1d7ec740021d588ab2815 2001-01-17 ph.version 11; no b_info (==> 8 bytes)
 7770|  1.13k|        if (ph.version <= 11
  ------------------
  |  Branch (7770:13): [True: 60, False: 1.07k]
  ------------------
 7771|     60|        &&  get_te64(&ehdri.e_entry) < 0x401180
  ------------------
  |  Branch (7771:13): [True: 7, False: 53]
  ------------------
 7772|      7|        &&  get_te16(&ehdri.e_machine)==Elf64_Ehdr::EM_X86_64) {
  ------------------
  |  Branch (7772:13): [True: 7, False: 0]
  ------------------
 7773|       |            // old style, 8-byte b_info:
 7774|       |            // sizeof(b_info.sz_unc) + sizeof(b_info.sz_cpr);
 7775|      7|            szb_info = 2*sizeof(unsigned);
 7776|      7|        }
 7777|  1.13k|    }
 7778|       |
 7779|  1.15k|    fi->seek(overlay_offset - sizeof(l_info), SEEK_SET);
 7780|  1.15k|    fi->readx(&linfo, sizeof(linfo));
 7781|  1.15k|    if (UPX_MAGIC_LE32 != get_le32(&linfo.l_magic)) {
  ------------------
  |  |  534|  1.15k|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (7781:9): [True: 154, False: 997]
  ------------------
 7782|    154|        NE32 const *const lp = (NE32 const *)(void const *)&linfo;
 7783|       |        // Workaround for bug of extra linfo by some asl_pack2_Shdrs().
 7784|    154|        if (0==lp[0] && 0==lp[1] && 0==lp[2]) { // looks like blank extra
  ------------------
  |  Branch (7784:13): [True: 58, False: 96]
  |  Branch (7784:25): [True: 33, False: 25]
  |  Branch (7784:37): [True: 25, False: 8]
  ------------------
 7785|     25|            fi->readx(&linfo, sizeof(linfo));
 7786|     25|            if (UPX_MAGIC_LE32 == get_le32(&linfo.l_magic)) {
  ------------------
  |  |  534|     25|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (7786:17): [True: 2, False: 23]
  ------------------
 7787|      2|                overlay_offset += sizeof(linfo);
 7788|      2|            }
 7789|     23|            else {
 7790|     23|                throwCantUnpack("l_info corrupted");
 7791|     23|            }
 7792|     25|        }
 7793|    129|        else {
 7794|    129|            throwCantUnpack("l_info corrupted");
 7795|    129|        }
 7796|    154|    }
 7797|    999|    lsize = get_te16(&linfo.l_lsize);
 7798|    999|    p_info hbuf;  fi->readx(&hbuf, sizeof(hbuf));
 7799|    999|    unsigned orig_file_size = get_te32(&hbuf.p_filesize);
 7800|    999|    blocksize = get_te32(&hbuf.p_blocksize);
 7801|    999|    if ((u32_t)file_size > orig_file_size || blocksize > orig_file_size
  ------------------
  |  Branch (7801:9): [True: 4, False: 995]
  |  Branch (7801:46): [True: 12, False: 983]
  ------------------
 7802|    983|        || (orig_file_size >> 8) > (u32_t)file_size  // heuristic anti-fuzz
  ------------------
  |  Branch (7802:12): [True: 44, False: 939]
  ------------------
 7803|    939|        ||      (blocksize >> 8) > (u32_t)file_size
  ------------------
  |  Branch (7803:17): [True: 0, False: 939]
  ------------------
 7804|    939|        || !mem_size_valid(1, blocksize, OVERHEAD))
  ------------------
  |  Branch (7804:12): [True: 0, False: 939]
  ------------------
 7805|     57|        throwCantUnpack("p_info corrupted");
 7806|       |
 7807|    942|    ibuf.alloc(blocksize + OVERHEAD);
 7808|    942|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 7809|    942|    fi->readx(&bhdr, szb_info);
 7810|    942|    ph.u_len = get_te32(&bhdr.sz_unc);
 7811|    942|    ph.c_len = get_te32(&bhdr.sz_cpr);
 7812|    942|    ph.set_method(bhdr.b_method, overlay_offset + sizeof(p_info));
 7813|    942|    if (ph.c_len > file_size_u || ph.c_len == 0 || ph.u_len == 0
  ------------------
  |  Branch (7813:9): [True: 21, False: 921]
  |  Branch (7813:35): [True: 1, False: 920]
  |  Branch (7813:52): [True: 1, False: 919]
  ------------------
 7814|    919|    ||  ph.u_len > orig_file_size)
  ------------------
  |  Branch (7814:9): [True: 35, False: 884]
  ------------------
 7815|     54|        throwCantUnpack("b_info corrupted");
 7816|    888|    ph.filter_cto = bhdr.b_cto8;
 7817|    888|    prev_method = bhdr.b_method;  // FIXME if multiple de-compressors
 7818|       |
 7819|    888|    MemBuffer u(ph.u_len);
 7820|    888|    Elf64_Ehdr *const ehdr = (Elf64_Ehdr *)&u[0];
 7821|    888|    Elf64_Phdr const *phdr = nullptr;
 7822|    888|    total_in = 0;
 7823|    888|    total_out = 0;
 7824|    888|    unsigned c_adler = upx_adler32(nullptr, 0);
 7825|    888|    unsigned u_adler = upx_adler32(nullptr, 0);
 7826|       |
 7827|    888|    unsigned is_shlib = 0;
 7828|    888|    loader_offset = 0;
 7829|    888|    MemBuffer o_elfhdrs;
 7830|    888|    Elf64_Phdr const *const dynhdr = elf_find_ptype(Elf64_Phdr::PT_DYNAMIC, phdri, c_phnum);
 7831|       |    // dynseg was set by PackLinuxElf64help1
 7832|    888|    if (dynhdr && !(Elf64_Dyn::DF_1_PIE & elf_unsigned_dynamic(Elf64_Dyn::DT_FLAGS_1))) {
  ------------------
  |  Branch (7832:9): [True: 442, False: 446]
  |  Branch (7832:19): [True: 442, False: 0]
  ------------------
 7833|       |        // Packed shlib? (ET_DYN without -fPIE)
 7834|    442|        is_shlib = 1;
 7835|    442|        xct_off = overlay_offset - sizeof(l_info);
 7836|    442|        u_phnum = get_te16(&ehdri.e_phnum);
 7837|    442|        o_elfhdrs.alloc(sz_elf_hdrs);
 7838|    442|        un_shlib_1(fo, o_elfhdrs, c_adler, u_adler, orig_file_size);
 7839|    442|        *ehdr = ehdri;
 7840|    442|    }
 7841|    446|    else { // main executable
 7842|       |        // Uncompress Ehdr and Phdrs: info for control of unpacking
 7843|    446|        if (ibuf.getSize() < ph.c_len)
  ------------------
  |  Branch (7843:13): [True: 4, False: 442]
  ------------------
 7844|      4|            throwCompressedDataViolation();
 7845|       |
 7846|    442|        fi->readx(ibuf, ph.c_len);
 7847|       |        // "clickhouse" ET_EXEC for amd64 has 0x200000 <= .e_entry
 7848|       |        // instead of 0x400000 that we checked earlier.
 7849|    442|        if (8 == szb_info
  ------------------
  |  Branch (7849:13): [True: 0, False: 442]
  ------------------
 7850|      0|        &&  Elf64_Ehdr::EM_X86_64 == e_machine
  ------------------
  |  Branch (7850:13): [True: 0, False: 0]
  ------------------
 7851|      0|        &&  Elf64_Ehdr::ET_EXEC   == e_type
  ------------------
  |  Branch (7851:13): [True: 0, False: 0]
  ------------------
 7852|      0|        &&  ph.u_len <= MAX_ELF_HDR_64
  ------------------
  |  Branch (7852:13): [True: 0, False: 0]
  ------------------
 7853|    442|        ) {
 7854|      0|            unsigned b_method = ibuf[0];
 7855|      0|            unsigned b_extra  = ibuf[3];
 7856|      0|            if (M_ZSTD >= b_method && 0 == b_extra) {
  ------------------
  |  |  628|      0|#define M_ZSTD        16 // NOT YET USED
  ------------------
  |  Branch (7856:17): [True: 0, False: 0]
  |  Branch (7856:39): [True: 0, False: 0]
  ------------------
 7857|      0|                unsigned where = fi->seek( -(upx_off_t)(ph.c_len + szb_info), SEEK_CUR);
 7858|      0|                szb_info = 12;
 7859|      0|                fi->readx(&bhdr, szb_info);
 7860|      0|                ph.filter_cto = bhdr.b_cto8;
 7861|      0|                ph.set_method(bhdr.b_method, where);
 7862|      0|                prev_method = bhdr.b_method;  // FIXME if multiple de-compressors
 7863|      0|                fi->readx(ibuf, ph.c_len);
 7864|      0|            }
 7865|      0|        }
 7866|    442|        if (ph.u_len < sizeof(*ehdr))
  ------------------
  |  Branch (7866:13): [True: 2, False: 440]
  ------------------
 7867|      2|            throwCantUnpack("ElfXX_Ehdr corrupted");
 7868|    440|        decompress(ibuf, (upx_byte *)ehdr, false);
 7869|    440|        if (ehdr->e_type   !=ehdri.e_type
  ------------------
  |  Branch (7869:13): [True: 162, False: 278]
  ------------------
 7870|    278|        ||  ehdr->e_machine!=ehdri.e_machine
  ------------------
  |  Branch (7870:13): [True: 1, False: 277]
  ------------------
 7871|    277|        ||  ehdr->e_version!=ehdri.e_version
  ------------------
  |  Branch (7871:13): [True: 1, False: 276]
  ------------------
 7872|       |            // less strict for EM_PPC64 to workaround earlier bug
 7873|    276|        ||  !( ehdr->e_flags==ehdri.e_flags
  ------------------
  |  Branch (7873:16): [True: 263, False: 13]
  ------------------
 7874|     13|            || Elf64_Ehdr::EM_PPC64 == get_te16(&ehdri.e_machine)
  ------------------
  |  Branch (7874:16): [True: 3, False: 10]
  ------------------
 7875|     10|            || Elf64_Ehdr::EM_RISCV == get_te16(&ehdri.e_machine))
  ------------------
  |  Branch (7875:16): [True: 0, False: 10]
  ------------------
 7876|    266|        ||  ehdr->e_ehsize !=ehdri.e_ehsize
  ------------------
  |  Branch (7876:13): [True: 2, False: 264]
  ------------------
 7877|       |            // check EI_MAG[0-3], EI_CLASS, EI_DATA, EI_VERSION
 7878|    264|        ||  memcmp(ehdr->e_ident, ehdri.e_ident, Elf64_Ehdr::EI_OSABI)) {
  ------------------
  |  Branch (7878:13): [True: 9, False: 255]
  ------------------
 7879|     25|            throwCantUnpack("ElfXX_Ehdr corrupted");
 7880|     25|        }
 7881|       |        // Rewind: prepare for data phase
 7882|    415|        fi->seek(- (off_t) (szb_info + ph.c_len), SEEK_CUR);
 7883|       |
 7884|    415|        u_phnum = get_te16(&ehdr->e_phnum);
 7885|    415|        if ((umin(MAX_ELF_HDR_64, ph.u_len) - sizeof(Elf64_Ehdr))/sizeof(Elf64_Phdr) < u_phnum) {
  ------------------
  |  Branch (7885:13): [True: 0, False: 415]
  ------------------
 7886|      0|            throwCantUnpack("bad compressed e_phnum");
 7887|      0|        }
 7888|    415|        o_elfhdrs.alloc(sizeof(Elf64_Ehdr) + u_phnum * sizeof(Elf64_Phdr));
 7889|    415|        memcpy(o_elfhdrs, ehdr, o_elfhdrs.getSize());
 7890|       |
 7891|       |        // Decompress each PT_LOAD.
 7892|    415|        bool first_PF_X = true;
 7893|    415|        phdr = (Elf64_Phdr *) (void *) (1+ ehdr);  // uncompressed
 7894|  1.45k|        for (unsigned j=0; j < u_phnum; ++phdr, ++j) {
  ------------------
  |  Branch (7894:28): [True: 1.04k, False: 415]
  ------------------
 7895|  1.04k|            if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7895:17): [True: 236, False: 805]
  ------------------
 7896|    236|                unsigned const filesz = get_te64(&phdr->p_filesz);
 7897|    236|                unsigned const offset = get_te64(&phdr->p_offset);
 7898|    236|                if (fo) {
  ------------------
  |  Branch (7898:21): [True: 236, False: 0]
  ------------------
 7899|    236|                    fo->seek(offset, SEEK_SET);
 7900|    236|                    if (total_out < offset) {
  ------------------
  |  Branch (7900:25): [True: 89, False: 147]
  ------------------
 7901|     89|                        total_out = offset;  // FIXME: can it be re-write?
 7902|     89|                    }
 7903|    236|                }
 7904|    236|                if (Elf64_Phdr::PF_X & get_te32(&phdr->p_flags)) {
  ------------------
  |  Branch (7904:21): [True: 145, False: 91]
  ------------------
 7905|    145|                    unpackExtent(filesz, fo,
 7906|    145|                        c_adler, u_adler, first_PF_X);
 7907|    145|                    first_PF_X = false;
 7908|    145|                }
 7909|     91|                else {
 7910|     91|                    unpackExtent(filesz, fo,
 7911|     91|                        c_adler, u_adler, false);
 7912|     91|                }
 7913|    236|            }
 7914|  1.04k|        }
 7915|    415|    }
 7916|       |
 7917|    857|    upx_uint64_t const e_entry = get_te64(&ehdri.e_entry);
 7918|    857|    unsigned off_entry = 0;
 7919|    857|    phdr = phdri;
 7920|    857|    load_va = 0;
 7921|  3.82k|    for (unsigned j=0; j < c_phnum; ++j, ++phdr) {
  ------------------
  |  Branch (7921:24): [True: 3.05k, False: 764]
  ------------------
 7922|  3.05k|        if (is_LOAD(phdr)) {
  ------------------
  |  Branch (7922:13): [True: 290, False: 2.76k]
  ------------------
 7923|    290|            upx_uint64_t offset = get_te64(&phdr->p_offset);
 7924|    290|            upx_uint64_t vaddr  = get_te64(&phdr->p_vaddr);
 7925|    290|            upx_uint64_t filesz = get_te64(&phdr->p_filesz);
 7926|    290|            if (!load_va) {
  ------------------
  |  Branch (7926:17): [True: 185, False: 105]
  ------------------
 7927|    185|                load_va = vaddr;
 7928|    185|            }
 7929|    290|            if ((e_entry - vaddr) < filesz) {
  ------------------
  |  Branch (7929:17): [True: 93, False: 197]
  ------------------
 7930|     93|                off_entry = (e_entry - vaddr) + offset;
 7931|     93|                break;
 7932|     93|            }
 7933|    290|        }
 7934|  3.05k|    }
 7935|    857|    unsigned d_info[6];
 7936|    857|    unsigned sz_d_info = sizeof(d_info);
 7937|    857|    if (!is_shlib) {
  ------------------
  |  Branch (7937:9): [True: 157, False: 700]
  ------------------
 7938|    157|        if (get_te32(&phdri[0].p_flags) & Elf64_Phdr::PF_X) {
  ------------------
  |  Branch (7938:13): [True: 31, False: 126]
  ------------------
 7939|       |            // Old style, such as upx-3.91 thru upx-3.95
 7940|     31|            switch (this->e_machine) {
 7941|      0|                default: {
  ------------------
  |  Branch (7941:17): [True: 0, False: 31]
  ------------------
 7942|      0|                    char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 7943|      0|                        "Unknown architecture %d", this->e_machine);
 7944|      0|                    throwCantUnpack(msg);
 7945|      0|                }; break;
 7946|      2|                case Elf64_Ehdr::EM_AARCH64: sz_d_info = 4 * sizeof(unsigned); break;
  ------------------
  |  Branch (7946:17): [True: 2, False: 29]
  ------------------
 7947|      2|                case Elf64_Ehdr::EM_PPC64:   sz_d_info = 3 * sizeof(unsigned); break;
  ------------------
  |  Branch (7947:17): [True: 2, False: 29]
  ------------------
 7948|     27|                case Elf64_Ehdr::EM_X86_64:  sz_d_info = 2 * sizeof(unsigned); break;
  ------------------
  |  Branch (7948:17): [True: 27, False: 4]
  ------------------
 7949|     31|            }
 7950|     31|        }
 7951|    157|        loader_offset = off_entry - sz_d_info;
 7952|    157|    }
 7953|       |
 7954|    857|    if (0x1000==get_te64(&phdri[0].p_filesz)  // detect C_BASE style
  ------------------
  |  Branch (7954:9): [True: 168, False: 689]
  ------------------
 7955|    168|    &&  0==get_te64(&phdri[1].p_offset)
  ------------------
  |  Branch (7955:9): [True: 105, False: 63]
  ------------------
 7956|    105|    &&  0==get_te64(&phdri[0].p_offset)
  ------------------
  |  Branch (7956:9): [True: 42, False: 63]
  ------------------
 7957|     42|    &&     get_te64(&phdri[1].p_filesz) == get_te64(&phdri[1].p_memsz)) {
  ------------------
  |  Branch (7957:12): [True: 14, False: 28]
  ------------------
 7958|     14|        fi->seek(up4(get_te64(&phdri[1].p_memsz)), SEEK_SET);  // past the loader
 7959|     14|    }
 7960|    843|    else if (is_shlib
  ------------------
  |  Branch (7960:14): [True: 697, False: 146]
  ------------------
 7961|    146|    ||  (off_entry + up4(lsize) + ph.getPackHeaderSize() + sizeof(overlay_offset))
  ------------------
  |  Branch (7961:9): [True: 54, False: 92]
  ------------------
 7962|    239|            < up4(file_size)) {
 7963|       |        // Loader is not at end; skip past it.
 7964|    239|        if (loader_offset) {
  ------------------
  |  Branch (7964:13): [True: 237, False: 2]
  ------------------
 7965|    237|            fi->seek(loader_offset, SEEK_SET);
 7966|    237|        }
 7967|      2|        else {
 7968|      2|            funpad4(fi);  // MATCH01
 7969|      2|        }
 7970|    239|        fi->readx(d_info, sz_d_info);
 7971|    239|        if (is_shlib && 0==old_dtinit) {
  ------------------
  |  Branch (7971:13): [True: 185, False: 54]
  |  Branch (7971:25): [True: 185, False: 0]
  ------------------
 7972|    185|            old_dtinit = get_te32(&d_info[2 + (0==d_info[0])]);
 7973|    185|            is_asl = 1u& get_te32(&d_info[0 + (0==d_info[0])]);
 7974|    185|        }
 7975|    239|        fi->seek(lsize - sz_d_info, SEEK_CUR);
 7976|    239|    }
 7977|       |
 7978|       |    // The gaps between PT_LOAD and after last PT_LOAD
 7979|    857|    phdr = (Elf64_Phdr const *)(1+ (Elf64_Ehdr const *)(void const *)o_elfhdrs);
 7980|    857|    upx_uint64_t hi_offset(0);
 7981|  2.02k|    for (unsigned j = 0; j < u_phnum; ++j) {
  ------------------
  |  Branch (7981:26): [True: 1.16k, False: 857]
  ------------------
 7982|  1.16k|        upx_uint64_t const offset = get_te64(&phdr[j].p_offset);
 7983|  1.16k|        if (is_LOAD(&phdr[j])
  ------------------
  |  Branch (7983:13): [True: 134, False: 1.03k]
  ------------------
 7984|    134|        &&  hi_offset < offset) {
  ------------------
  |  Branch (7984:13): [True: 83, False: 51]
  ------------------
 7985|     83|            hi_offset = offset;
 7986|     83|        }
 7987|  1.16k|    }
 7988|  1.88k|    for (unsigned j = 0; j < u_phnum; ++j) {
  ------------------
  |  Branch (7988:26): [True: 1.04k, False: 838]
  ------------------
 7989|  1.04k|        unsigned const size = find_LOAD_gap(phdr, j, u_phnum);
 7990|  1.04k|        if (size) {
  ------------------
  |  Branch (7990:13): [True: 104, False: 944]
  ------------------
 7991|    104|            unsigned const where = get_te64(&phdr[j].p_offset) +
 7992|    104|                                   get_te64(&phdr[j].p_filesz);
 7993|    104|            if (fo)
  ------------------
  |  Branch (7993:17): [True: 104, False: 0]
  ------------------
 7994|    104|                fo->seek(where, SEEK_SET);
 7995|    104|            { // Recover from some piracy [also serves as error tolerance :-) ]
 7996|       |              // Getting past the loader is problematic, due to unintended
 7997|       |              // variances between released versions:
 7998|       |              //   l_info.l_lsize might be rounded up by 8 instead of by 4, and
 7999|       |              //   sz_d_info might have changed.
 8000|    104|                b_info b_peek, *bp = &b_peek;
 8001|    104|                fi->readx(bp, sizeof(b_peek));
 8002|    104|                upx_off_t pos = fi->seek(-(off_t)sizeof(b_peek), SEEK_CUR);
 8003|    104|                unsigned sz_unc = get_te32(&bp->sz_unc);
 8004|    104|                unsigned sz_cpr = get_te32(&bp->sz_cpr);
 8005|    104|                unsigned word3  = get_te32(&bp->b_method);
 8006|    104|                unsigned method = bp->b_method;
 8007|    104|                unsigned ftid = bp->b_ftid;
 8008|    104|                unsigned cto8 = bp->b_cto8;
 8009|    104|                if (!( ((sz_cpr == sz_unc) && (0 == word3) && (size == sz_unc)) // incompressible literal
  ------------------
  |  Branch (8009:25): [True: 3, False: 101]
  |  Branch (8009:47): [True: 1, False: 2]
  |  Branch (8009:63): [True: 0, False: 1]
  ------------------
 8010|    104|                    || ((sz_cpr <  sz_unc)
  ------------------
  |  Branch (8010:25): [True: 85, False: 19]
  ------------------
 8011|     85|                        && (method == prev_method || M_NRV2B_LE32 == prev_method)
  ------------------
  |  |  614|     23|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (8011:29): [True: 62, False: 23]
  |  Branch (8011:54): [True: 0, False: 23]
  ------------------
 8012|     62|                        && (0 == ftid) && (0 == cto8)) )
  ------------------
  |  Branch (8012:28): [True: 61, False: 1]
  |  Branch (8012:43): [True: 60, False: 1]
  ------------------
 8013|    104|                ) {
 8014|     44|                    opt->info_mode++;
 8015|     44|                    infoWarning("bad b_info at %#zx", (size_t)pos);
 8016|     44|                    unsigned const N_PEEK(16 * sizeof(int)), H_PEEK(N_PEEK >> 1);
 8017|     44|                    unsigned char peek_arr[N_PEEK];
 8018|     44|                    fi->seek(pos - H_PEEK, SEEK_SET);
 8019|     44|                    fi->readx(peek_arr, sizeof(peek_arr));
 8020|     44|                    fi->seek(pos, SEEK_SET);
 8021|     44|                    bool const is_be = ELFDATA2MSB == ehdri.e_ident[EI_DATA];
 8022|     44|                    if (is_be) {
  ------------------
  |  Branch (8022:25): [True: 8, False: 36]
  ------------------
 8023|       |                        // Does the right thing for sz_unc and sz_cpr,
 8024|       |                        // but swaps b_method and b_extra.  Need find_be32() :-)
 8025|    136|                        for (unsigned k = 0; k < N_PEEK; k += sizeof(int)) {
  ------------------
  |  Branch (8025:46): [True: 128, False: 8]
  ------------------
 8026|    128|                            set_le32(&peek_arr[k], get_be32(&peek_arr[k]));
 8027|    128|                        }
 8028|      8|                    }
 8029|     44|                    int boff = find_le32(peek_arr, sizeof(peek_arr), size);
 8030|     44|                    if (boff < 0
  ------------------
  |  Branch (8030:25): [True: 18, False: 26]
  ------------------
 8031|     26|                    || sizeof(peek_arr) < (boff + sizeof(b_info))) {
  ------------------
  |  Branch (8031:24): [True: 1, False: 25]
  ------------------
 8032|     19|                        throwCantUnpack("b_info corrupted");
 8033|     19|                    }
 8034|     25|                    bp = (b_info *)(void *)&peek_arr[boff];
 8035|       |
 8036|     25|                    sz_unc = get_le32(&bp->sz_unc);
 8037|     25|                    sz_cpr = get_le32(&bp->sz_cpr);
 8038|     25|                    word3  = get_le32(&bp->b_method);
 8039|     25|                    ftid = bp->b_ftid;
 8040|     25|                    cto8 = bp->b_cto8;
 8041|     25|                    if (0 <= boff  // found
  ------------------
  |  Branch (8041:25): [True: 25, False: 0]
  ------------------
 8042|     25|                    && ( ((sz_cpr == sz_unc) && (0 == word3) && (size == sz_unc)) // incompressible literal
  ------------------
  |  Branch (8042:27): [True: 0, False: 25]
  |  Branch (8042:49): [True: 0, False: 0]
  |  Branch (8042:65): [True: 0, False: 0]
  ------------------
 8043|     25|                      || ((sz_cpr <  sz_unc) && (0 == ftid) && (0 == cto8)
  ------------------
  |  Branch (8043:27): [True: 23, False: 2]
  |  Branch (8043:49): [True: 22, False: 1]
  |  Branch (8043:64): [True: 21, False: 1]
  ------------------
 8044|     21|                          && ((is_be ? bp->b_extra : bp->b_method) == prev_method)) )
  ------------------
  |  Branch (8044:30): [True: 18, False: 3]
  |  Branch (8044:32): [True: 5, False: 16]
  ------------------
 8045|     25|                    ) {
 8046|     18|                        pos -= H_PEEK;
 8047|     18|                        pos += boff;
 8048|     18|                        infoWarning("... recovery at %#zx", (size_t)pos);
 8049|     18|                        fi->seek(pos, SEEK_SET);
 8050|     18|                    }
 8051|     25|                    opt->info_mode--;
 8052|     25|                }
 8053|    104|            }
 8054|     85|            unpackExtent(size, fo,
 8055|     85|                c_adler, u_adler, false,
 8056|     85|                (hi_offset != get_te64(&phdr[j].p_offset)));
 8057|     85|        }
 8058|  1.04k|    }
 8059|       |
 8060|       |    // check for end-of-file
 8061|    838|    fi->readx(&bhdr, szb_info);
 8062|    838|    ph.set_method(bhdr.b_method, ~0u);
 8063|    838|    unsigned const sz_unc = ph.u_len = get_te32(&bhdr.sz_unc);
 8064|       |
 8065|    838|    if (sz_unc == 0) { // uncompressed size 0 -> EOF
  ------------------
  |  Branch (8065:9): [True: 121, False: 717]
  ------------------
 8066|       |        // note: magic is always stored le32
 8067|    121|        unsigned const sz_cpr = get_le32(&bhdr.sz_cpr);
 8068|    121|        if (sz_cpr != UPX_MAGIC_LE32)  // sz_cpr must be h->magic
  ------------------
  |  |  534|    121|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (8068:13): [True: 30, False: 91]
  ------------------
 8069|     30|            throwCompressedDataViolation();
 8070|    121|    }
 8071|    717|    else { // extra bytes after end?
 8072|    717|        throwCompressedDataViolation();
 8073|    717|    }
 8074|       |
 8075|     91|    if (is_shlib) {
  ------------------
  |  Branch (8075:9): [True: 76, False: 15]
  ------------------
 8076|     76|        un_DT_INIT(old_dtinit, (Elf64_Phdr *)(1+ (Elf64_Ehdr *)(void *)o_elfhdrs), dynhdr, fo);
 8077|     76|    }
 8078|       |
 8079|       |    // update header with totals
 8080|     91|    ph.c_len = total_in;
 8081|     91|    ph.u_len = total_out;
 8082|       |
 8083|       |    // all bytes must be written
 8084|     91|    if (fo && total_out != orig_file_size)
  ------------------
  |  Branch (8084:9): [True: 15, False: 76]
  |  Branch (8084:15): [True: 1, False: 14]
  ------------------
 8085|      1|        throwEOFException();
 8086|       |
 8087|       |    // finally test the checksums
 8088|     90|    if (ph.c_adler != c_adler || ph.u_adler != u_adler)
  ------------------
  |  Branch (8088:9): [True: 77, False: 13]
  |  Branch (8088:34): [True: 1, False: 12]
  ------------------
 8089|      2|        throwChecksumError();
 8090|     90|}
_ZN17PackLinuxElf32x86C2EP9InputFile:
 8097|  51.0k|PackLinuxElf32x86::PackLinuxElf32x86(InputFile *f) : super(f)
 8098|  51.0k|{
 8099|  51.0k|    e_machine = Elf32_Ehdr::EM_386;
 8100|  51.0k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8101|  51.0k|    ei_data   = Elf32_Ehdr::ELFDATA2LSB;
 8102|  51.0k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 8103|  51.0k|}
_ZN17PackLinuxElf32x86D2Ev:
 8106|  50.7k|{
 8107|  50.7k|}
_ZN17PackLinuxElf32x869canUnpackEv:
 8110|  50.7k|{
 8111|  50.7k|    if (super::canUnpack()) {
  ------------------
  |  Branch (8111:9): [True: 1.10k, False: 49.6k]
  ------------------
 8112|  1.10k|        return true;
 8113|  1.10k|    }
 8114|  49.6k|    return false;
 8115|  50.7k|}
_ZN15PackBSDElf32x86C2EP9InputFile:
 8122|  25.6k|PackBSDElf32x86::PackBSDElf32x86(InputFile *f) : super(f)
 8123|  25.6k|{
 8124|  25.6k|    e_machine = Elf32_Ehdr::EM_386;
 8125|  25.6k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8126|  25.6k|    ei_data   = Elf32_Ehdr::ELFDATA2LSB;
 8127|  25.6k|}
_ZN19PackFreeBSDElf32x86C2EP9InputFile:
 8133|  12.9k|PackFreeBSDElf32x86::PackFreeBSDElf32x86(InputFile *f) : super(f)
 8134|  12.9k|{
 8135|  12.9k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_FREEBSD;
 8136|  12.9k|}
_ZN18PackNetBSDElf32x86C2EP9InputFile:
 8142|  12.6k|PackNetBSDElf32x86::PackNetBSDElf32x86(InputFile *f) : super(f)
 8143|  12.6k|{
 8144|  12.6k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_NETBSD;
 8145|  12.6k|    osabi_note = "NetBSD";
 8146|  12.6k|}
_ZN19PackOpenBSDElf32x86C2EP9InputFile:
 8152|  12.6k|PackOpenBSDElf32x86::PackOpenBSDElf32x86(InputFile *f) : super(f)
 8153|  12.6k|{
 8154|  12.6k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_OPENBSD;
 8155|  12.6k|    osabi_note = "OpenBSD";
 8156|  12.6k|}
_ZN19PackLinuxElf32armLeC2EP9InputFile:
 8187|  9.42k|PackLinuxElf32armLe::PackLinuxElf32armLe(InputFile *f) : super(f)
 8188|  9.42k|{
 8189|  9.42k|    e_machine = Elf32_Ehdr::EM_ARM;
 8190|  9.42k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8191|  9.42k|    ei_data   = Elf32_Ehdr::ELFDATA2LSB;
 8192|  9.42k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_ARM;
 8193|  9.42k|}
_ZN19PackLinuxElf32armLeD2Ev:
 8196|  9.42k|{
 8197|  9.42k|}
_ZN20PackLinuxElf32mipsebC2EP9InputFile:
 8199|  6.89k|PackLinuxElf32mipseb::PackLinuxElf32mipseb(InputFile *f) : super(f)
 8200|  6.89k|{
 8201|  6.89k|    e_machine = Elf32_Ehdr::EM_MIPS;
 8202|  6.89k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8203|  6.89k|    ei_data   = Elf32_Ehdr::ELFDATA2MSB;
 8204|  6.89k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 8205|  6.89k|}
_ZN20PackLinuxElf32mipsebD2Ev:
 8208|  6.89k|{
 8209|  6.89k|}
_ZN20PackLinuxElf32mipselC2EP9InputFile:
 8211|  6.90k|PackLinuxElf32mipsel::PackLinuxElf32mipsel(InputFile *f) : super(f)
 8212|  6.90k|{
 8213|  6.90k|    e_machine = Elf32_Ehdr::EM_MIPS;
 8214|  6.90k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8215|  6.90k|    ei_data   = Elf32_Ehdr::ELFDATA2LSB;
 8216|  6.90k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_LINUX;
 8217|  6.90k|}
_ZN20PackLinuxElf32mipselD2Ev:
 8220|  6.90k|{
 8221|  6.90k|}
_ZN19PackLinuxElf32armBeC2EP9InputFile:
 8238|  9.41k|PackLinuxElf32armBe::PackLinuxElf32armBe(InputFile *f) : super(f)
 8239|  9.41k|{
 8240|  9.41k|    e_machine = Elf32_Ehdr::EM_ARM;
 8241|  9.41k|    ei_class  = Elf32_Ehdr::ELFCLASS32;
 8242|  9.41k|    ei_data   = Elf32_Ehdr::ELFDATA2MSB;
 8243|  9.41k|    ei_osabi  = Elf32_Ehdr::ELFOSABI_ARM;
 8244|  9.41k|}
_ZN19PackLinuxElf32armBeD2Ev:
 8247|  8.44k|{
 8248|  8.44k|}
_ZNK14PackLinuxElf3227elf_get_offset_from_addressEj:
 8257|  4.19k|{
 8258|  4.19k|    return elf_get_offset_from_Phdrs(addr, phdri);
 8259|  4.19k|}
_ZNK14PackLinuxElf3225elf_get_offset_from_PhdrsEjPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEE:
 8263|  4.19k|{
 8264|  4.19k|    Elf32_Phdr const *phdr = phdr0;
 8265|  4.19k|    int j = e_phnum;
 8266|  16.8k|    for (; --j>=0; ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (8266:12): [True: 16.7k, False: 125]
  |  Branch (8266:32): [True: 5.23k, False: 11.4k]
  ------------------
 8267|  5.23k|        unsigned const t = addr - get_te32(&phdr->p_vaddr);
 8268|  5.23k|        if (t < get_te32(&phdr->p_filesz)) {
  ------------------
  |  Branch (8268:13): [True: 4.07k, False: 1.16k]
  ------------------
 8269|  4.07k|            unsigned const p_offset = get_te32(&phdr->p_offset);
 8270|  4.07k|            if (file_size_u <= p_offset) { // FIXME: weak
  ------------------
  |  Branch (8270:17): [True: 7, False: 4.06k]
  ------------------
 8271|      7|                char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      7|#define snprintf  upx_safe_snprintf
  ------------------
 8272|      7|                    "bad Elf32_Phdr[%d].p_offset %x",
 8273|      7|                    -1+ e_phnum - j, p_offset);
 8274|      7|                throwCantPack(msg);
 8275|      7|            }
 8276|  4.06k|            return t + p_offset;
 8277|  4.07k|        }
 8278|  5.23k|    }
 8279|    125|    return 0;
 8280|  4.19k|}
_ZN14PackLinuxElf3213check_pt_loadEPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEE:
 8284|  1.58k|{
 8285|  1.58k|    u32_t filesz = get_te32(&phdr->p_filesz);
 8286|  1.58k|    u32_t offset = get_te32(&phdr->p_offset), offend = filesz + offset;
 8287|  1.58k|    u32_t vaddr  = get_te32(&phdr->p_vaddr);
 8288|  1.58k|    u32_t paddr  = get_te32(&phdr->p_paddr);
 8289|  1.58k|    u32_t align  = get_te32(&phdr->p_align);
 8290|       |
 8291|  1.58k|    if ((-1+ align) & (paddr ^ vaddr)
  ------------------
  |  Branch (8291:9): [True: 45, False: 1.53k]
  ------------------
 8292|  1.53k|    ||  file_size_u32 <= (u32_t)offset
  ------------------
  |  Branch (8292:9): [True: 30, False: 1.50k]
  ------------------
 8293|  1.50k|    ||  file_size_u32 <  (u32_t)offend
  ------------------
  |  Branch (8293:9): [True: 37, False: 1.47k]
  ------------------
 8294|  1.47k|    ||  file_size_u32 <  (u32_t)filesz) {
  ------------------
  |  Branch (8294:9): [True: 6, False: 1.46k]
  ------------------
 8295|    118|        char msg[50]; snprintf(msg, sizeof(msg), "bad PT_LOAD phdr[%u]",
  ------------------
  |  |   75|    118|#define snprintf  upx_safe_snprintf
  ------------------
 8296|    118|            (unsigned)(phdr - phdri));
 8297|    118|        throwCantPack(msg);
 8298|    118|    }
 8299|  1.46k|    return offset;
 8300|  1.58k|}
_ZN14PackLinuxElf3216check_pt_dynamicEPKN7N_Elf324PhdrIN5N_Elf9ElfITypesI4LE164LE32S5_S5_S5_EEEE:
 8315|  1.21k|{
 8316|  1.21k|    unsigned t = get_te32(&phdr->p_offset), s = sizeof(Elf32_Dyn) + t;
 8317|  1.21k|    unsigned vaddr = get_te32(&phdr->p_vaddr);
 8318|  1.21k|    unsigned filesz = get_te32(&phdr->p_filesz), memsz = get_te32(&phdr->p_memsz);
 8319|  1.21k|    unsigned align = get_te32(&phdr->p_align);
 8320|  1.21k|    if (file_size_u < t || s < t
  ------------------
  |  Branch (8320:9): [True: 2, False: 1.20k]
  |  Branch (8320:28): [True: 0, False: 1.20k]
  ------------------
 8321|  1.20k|    ||  file_size_u < filesz
  ------------------
  |  Branch (8321:9): [True: 25, False: 1.18k]
  ------------------
 8322|  1.18k|    ||  file_size_u < (filesz + t)
  ------------------
  |  Branch (8322:9): [True: 10, False: 1.17k]
  ------------------
 8323|  1.17k|    ||  t < (e_phnum*sizeof(Elf32_Phdr) + sizeof(Elf32_Ehdr))
  ------------------
  |  Branch (8323:9): [True: 5, False: 1.16k]
  ------------------
 8324|  1.16k|    ||  (3 & t) || (7 & (filesz | memsz))  // .balign 4; 8==sizeof(Elf32_Dyn)
  ------------------
  |  Branch (8324:9): [True: 1, False: 1.16k]
  |  Branch (8324:20): [True: 2, False: 1.16k]
  ------------------
 8325|  1.16k|    ||  (-1+ align) & (t ^ vaddr)
  ------------------
  |  Branch (8325:9): [True: 18, False: 1.14k]
  ------------------
 8326|  1.14k|    ||  file_size_u <= memsz
  ------------------
  |  Branch (8326:9): [True: 2, False: 1.14k]
  ------------------
 8327|  1.14k|    ||  filesz < sizeof(Elf32_Dyn)
  ------------------
  |  Branch (8327:9): [True: 2, False: 1.14k]
  ------------------
 8328|  1.14k|    ||  memsz  < sizeof(Elf32_Dyn)
  ------------------
  |  Branch (8328:9): [True: 1, False: 1.14k]
  ------------------
 8329|  1.14k|    ||  filesz < memsz) {
  ------------------
  |  Branch (8329:9): [True: 2, False: 1.14k]
  ------------------
 8330|     70|        char msg[50]; snprintf(msg, sizeof(msg), "bad PT_DYNAMIC phdr[%u]",
  ------------------
  |  |   75|     70|#define snprintf  upx_safe_snprintf
  ------------------
 8331|     70|            (unsigned)(phdr - phdri));
 8332|     70|        throwCantPack(msg);
 8333|     70|    }
 8334|  1.14k|    sz_dynseg = memsz;
 8335|  1.14k|    return t;
 8336|  1.21k|}
_ZNK14PackLinuxElf3215elf_find_dynptrEj:
 8339|  11.7k|{
 8340|  11.7k|    Elf32_Dyn *dynp= dynseg;
 8341|  11.7k|    if (dynp) {
  ------------------
  |  Branch (8341:9): [True: 8.38k, False: 3.31k]
  ------------------
 8342|  8.38k|        Elf32_Dyn *const last = (Elf32_Dyn *)(sz_dynseg + (char *)dynseg);
 8343|   120k|        for (; dynp < last; ++dynp) {
  ------------------
  |  Branch (8343:16): [True: 119k, False: 1.41k]
  ------------------
 8344|   119k|            if (get_te32(&dynp->d_tag)==key) {
  ------------------
  |  Branch (8344:17): [True: 3.58k, False: 115k]
  ------------------
 8345|  3.58k|                return dynp;
 8346|  3.58k|            }
 8347|   115k|            if (Elf32_Dyn::DT_NULL == dynp->d_tag) {
  ------------------
  |  Branch (8347:17): [True: 3.38k, False: 112k]
  ------------------
 8348|  3.38k|                return nullptr;
 8349|  3.38k|            }
 8350|   115k|        }
 8351|  8.38k|    }
 8352|  4.72k|    return nullptr;
 8353|  11.7k|}
_ZNK14PackLinuxElf6415elf_find_dynptrEj:
 8356|  9.05k|{
 8357|  9.05k|    Elf64_Dyn *dynp= dynseg;
 8358|  9.05k|    if (dynp) {
  ------------------
  |  Branch (8358:9): [True: 7.72k, False: 1.32k]
  ------------------
 8359|  7.72k|        Elf64_Dyn *const last = (Elf64_Dyn *)(sz_dynseg + (char *)dynseg);
 8360|  77.8k|        for (; dynp < last; ++dynp) {
  ------------------
  |  Branch (8360:16): [True: 77.2k, False: 660]
  ------------------
 8361|  77.2k|            if (get_te64(&dynp->d_tag)==key) {
  ------------------
  |  Branch (8361:17): [True: 3.21k, False: 74.0k]
  ------------------
 8362|  3.21k|                return dynp;
 8363|  3.21k|            }
 8364|  74.0k|            if (Elf64_Dyn::DT_NULL == dynp->d_tag) {
  ------------------
  |  Branch (8364:17): [True: 3.85k, False: 70.1k]
  ------------------
 8365|  3.85k|                return nullptr;
 8366|  3.85k|            }
 8367|  74.0k|        }
 8368|  7.72k|    }
 8369|  1.98k|    return nullptr;
 8370|  9.05k|}
_ZNK14PackLinuxElf3216elf_find_dynamicEj:
 8374|  6.30k|{
 8375|  6.30k|    Elf32_Dyn const *dynp= elf_find_dynptr(key);
 8376|  6.30k|    if (dynp) {
  ------------------
  |  Branch (8376:9): [True: 2.28k, False: 4.02k]
  ------------------
 8377|  2.28k|        unsigned const t= elf_get_offset_from_address(get_te32(&dynp->d_val));
 8378|  2.28k|        if (t && t < file_size_u) {
  ------------------
  |  Branch (8378:13): [True: 2.10k, False: 173]
  |  Branch (8378:18): [True: 2.10k, False: 2]
  ------------------
 8379|  2.10k|            return t + file_image;
 8380|  2.10k|        }
 8381|  2.28k|    }
 8382|  4.19k|    return nullptr;
 8383|  6.30k|}
_ZNK14PackLinuxElf6416elf_find_dynamicEj:
 8387|  3.52k|{
 8388|  3.52k|    Elf64_Dyn const *dynp= elf_find_dynptr(key);
 8389|  3.52k|    if (dynp) {
  ------------------
  |  Branch (8389:9): [True: 1.89k, False: 1.62k]
  ------------------
 8390|  1.89k|        upx_uint64_t const t= elf_get_offset_from_address(get_te64(&dynp->d_val));
 8391|  1.89k|        if (t && t < file_size_u) {
  ------------------
  |  Branch (8391:13): [True: 1.82k, False: 72]
  |  Branch (8391:18): [True: 1.79k, False: 36]
  ------------------
 8392|  1.79k|            return t + file_image;
 8393|  1.79k|        }
 8394|  1.89k|    }
 8395|  1.73k|    return nullptr;
 8396|  3.52k|}
_ZNK14PackLinuxElf6420elf_unsigned_dynamicEj:
 8400|  5.53k|{
 8401|  5.53k|    Elf64_Dyn const *dynp= elf_find_dynptr(key);
 8402|  5.53k|    if (dynp) {
  ------------------
  |  Branch (8402:9): [True: 1.31k, False: 4.21k]
  ------------------
 8403|  1.31k|        return get_te64(&dynp->d_val);
 8404|  1.31k|    }
 8405|  4.21k|    return 0;
 8406|  5.53k|}
_ZNK14PackLinuxElf3220elf_unsigned_dynamicEj:
 8410|  5.39k|{
 8411|  5.39k|    Elf32_Dyn const *dynp= elf_find_dynptr(key);
 8412|  5.39k|    if (dynp) {
  ------------------
  |  Branch (8412:9): [True: 1.30k, False: 4.09k]
  ------------------
 8413|  1.30k|        return get_te32(&dynp->d_val);
 8414|  1.30k|    }
 8415|  4.09k|    return 0;
 8416|  5.39k|}
_ZNK14PackLinuxElf6427elf_get_offset_from_addressEy:
 8420|  3.71k|{
 8421|  3.71k|    Elf64_Phdr const *phdr = phdri;
 8422|  3.71k|    int j = e_phnum;
 8423|  12.3k|    for (; --j>=0; ++phdr) if (is_LOAD(phdr)) {
  ------------------
  |  Branch (8423:12): [True: 12.3k, False: 33]
  |  Branch (8423:32): [True: 4.21k, False: 8.14k]
  ------------------
 8424|  4.21k|        upx_uint64_t const t = addr - get_te64(&phdr->p_vaddr);
 8425|  4.21k|        if (t < get_te64(&phdr->p_filesz)) {
  ------------------
  |  Branch (8425:13): [True: 3.68k, False: 535]
  ------------------
 8426|  3.68k|            upx_uint64_t const p_offset = get_te64(&phdr->p_offset);
 8427|  3.68k|            if (file_size_u <= p_offset) { // FIXME: weak
  ------------------
  |  Branch (8427:17): [True: 108, False: 3.57k]
  ------------------
 8428|    108|                char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|    108|#define snprintf  upx_safe_snprintf
  ------------------
 8429|    108|                    "bad Elf64_Phdr[%d].p_offset %#lx",
 8430|    108|                    -1+ e_phnum - j, (long unsigned)p_offset);
 8431|    108|                throwCantPack(msg);
 8432|    108|            }
 8433|  3.57k|            return t + p_offset;
 8434|  3.68k|        }
 8435|  4.21k|    }
 8436|     33|    return 0;
 8437|  3.71k|}
_ZN14PackLinuxElf6413check_pt_loadEPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEE:
 8441|  1.40k|{
 8442|  1.40k|    u64_t filesz = get_te64(&phdr->p_filesz);
 8443|  1.40k|    u64_t offset = get_te64(&phdr->p_offset), offend = filesz + offset;
 8444|  1.40k|    u64_t vaddr  = get_te64(&phdr->p_vaddr);
 8445|  1.40k|    u64_t paddr  = get_te64(&phdr->p_paddr);
 8446|  1.40k|    u64_t align  = get_te64(&phdr->p_align);
 8447|       |
 8448|  1.40k|    if ((-1+ align) & (paddr ^ vaddr)
  ------------------
  |  Branch (8448:9): [True: 89, False: 1.31k]
  ------------------
 8449|  1.31k|    ||  file_size_u <= (u64_t)offset
  ------------------
  |  Branch (8449:9): [True: 52, False: 1.26k]
  ------------------
 8450|  1.26k|    ||  file_size_u <  (u64_t)offend
  ------------------
  |  Branch (8450:9): [True: 48, False: 1.21k]
  ------------------
 8451|  1.21k|    ||  file_size_u <  (u64_t)filesz) {
  ------------------
  |  Branch (8451:9): [True: 21, False: 1.19k]
  ------------------
 8452|    210|        char msg[50]; snprintf(msg, sizeof(msg), "bad PT_LOAD phdr[%u]",
  ------------------
  |  |   75|    210|#define snprintf  upx_safe_snprintf
  ------------------
 8453|    210|            (unsigned)(phdr - phdri));
 8454|    210|        throwCantPack(msg);
 8455|    210|    }
 8456|  1.19k|    return offset;
 8457|  1.40k|}
_ZN14PackLinuxElf6416check_pt_dynamicEPKN7N_Elf644PhdrIN5N_Elf9ElfITypesI4LE164LE324LE64S6_S6_EEEE:
 8472|  1.73k|{
 8473|  1.73k|    upx_uint64_t t = get_te64(&phdr->p_offset), s = sizeof(Elf64_Dyn) + t;
 8474|  1.73k|    upx_uint64_t vaddr = get_te64(&phdr->p_vaddr);
 8475|  1.73k|    upx_uint64_t filesz = get_te64(&phdr->p_filesz), memsz = get_te64(&phdr->p_memsz);
 8476|  1.73k|    upx_uint64_t align = get_te64(&phdr->p_align);
 8477|  1.73k|    if (file_size_u < t || s < t
  ------------------
  |  Branch (8477:9): [True: 75, False: 1.65k]
  |  Branch (8477:28): [True: 0, False: 1.65k]
  ------------------
 8478|  1.65k|    ||  file_size_u < filesz
  ------------------
  |  Branch (8478:9): [True: 63, False: 1.59k]
  ------------------
 8479|  1.59k|    ||  file_size_u < (filesz + t)
  ------------------
  |  Branch (8479:9): [True: 4, False: 1.58k]
  ------------------
 8480|  1.58k|    ||  t < (e_phnum*sizeof(Elf64_Phdr) + sizeof(Elf64_Ehdr))
  ------------------
  |  Branch (8480:9): [True: 8, False: 1.58k]
  ------------------
 8481|  1.58k|    ||  (7 & t) || (0xf & (filesz | memsz))  // .balign 8; 16==sizeof(Elf64_Dyn)
  ------------------
  |  Branch (8481:9): [True: 10, False: 1.57k]
  |  Branch (8481:20): [True: 3, False: 1.56k]
  ------------------
 8482|  1.56k|    ||  (-1+ align) & (t ^ vaddr)
  ------------------
  |  Branch (8482:9): [True: 66, False: 1.50k]
  ------------------
 8483|  1.50k|    ||  file_size_u <= memsz
  ------------------
  |  Branch (8483:9): [True: 48, False: 1.45k]
  ------------------
 8484|  1.45k|    ||  filesz < sizeof(Elf64_Dyn)
  ------------------
  |  Branch (8484:9): [True: 1, False: 1.45k]
  ------------------
 8485|  1.45k|    ||  memsz  < sizeof(Elf64_Dyn)
  ------------------
  |  Branch (8485:9): [True: 1, False: 1.45k]
  ------------------
 8486|  1.45k|    ||  filesz < memsz) {
  ------------------
  |  Branch (8486:9): [True: 1, False: 1.45k]
  ------------------
 8487|    280|        char msg[50]; snprintf(msg, sizeof(msg), "bad PT_DYNAMIC phdr[%u]",
  ------------------
  |  |   75|    280|#define snprintf  upx_safe_snprintf
  ------------------
 8488|    280|            (unsigned)(phdr - phdri));
 8489|    280|        throwCantPack(msg);
 8490|    280|    }
 8491|  1.45k|    sz_dynseg = memsz;
 8492|  1.45k|    return t;
 8493|  1.73k|}
_ZN14PackLinuxElf6417sort_DT64_offsetsEPKN5N_Elf3DynINS0_9ElfITypesI4LE164LE324LE64S5_S5_EEEE:
 8497|  1.11k|{
 8498|  1.11k|    mb_dt_offsets.alloc(sizeof(unsigned) * sizeof(dt_keys)/sizeof(dt_keys[0]));
 8499|  1.11k|    mb_dt_offsets.clear();
 8500|  1.11k|    dt_offsets = (unsigned *)mb_dt_offsets.getVoidPtr();
 8501|  1.11k|    unsigned n_off = 0, k;
 8502|  12.9k|    for (unsigned j=0; ((k = dt_keys[j]),  k); ++j) {
  ------------------
  |  Branch (8502:24): [True: 12.0k, False: 919]
  ------------------
 8503|  12.0k|        dt_offsets[n_off] = 0;  // default to "not found"
 8504|  12.0k|        u64_t rva = 0;
 8505|  12.0k|        if (k < DT_NUM) { // in range of easy table
  ------------------
  |  Branch (8505:13): [True: 7.86k, False: 4.15k]
  ------------------
 8506|  7.86k|            if (!dt_table[k]) {
  ------------------
  |  Branch (8506:17): [True: 5.32k, False: 2.53k]
  ------------------
 8507|  5.32k|                continue;
 8508|  5.32k|            }
 8509|  2.53k|            rva = get_te64(&dynp0[-1+ dt_table[k]].d_val);
 8510|  2.53k|        }
 8511|  4.15k|        else if (file_image) { // why is this guard necessary?
  ------------------
  |  Branch (8511:18): [True: 4.15k, False: 0]
  ------------------
 8512|  4.15k|            rva = elf_unsigned_dynamic(k);  // zero if not found
 8513|  4.15k|        }
 8514|  6.69k|        if (!rva) { // not present in input
  ------------------
  |  Branch (8514:13): [True: 3.71k, False: 2.97k]
  ------------------
 8515|  3.71k|            continue;
 8516|  3.71k|        }
 8517|  2.97k|        Elf64_Phdr const *const phdr = elf_find_Phdr_for_va(rva, phdri, e_phnum);
 8518|  2.97k|        if (!phdr) {
  ------------------
  |  Branch (8518:13): [True: 181, False: 2.79k]
  ------------------
 8519|    181|            char msg[60]; snprintf(msg, sizeof(msg), "bad DT_{%#x} = %#llx (no Phdr)",
  ------------------
  |  |   75|    181|#define snprintf  upx_safe_snprintf
  ------------------
 8520|    181|                k, rva);
 8521|    181|            throwCantPack(msg);
 8522|    181|        }
 8523|  2.79k|        dt_offsets[n_off] = (rva - get_te64(&phdr->p_vaddr)) + get_te64(&phdr->p_offset);
 8524|       |
 8525|  2.79k|        if (file_size <= dt_offsets[n_off]) {
  ------------------
  |  Branch (8525:13): [True: 13, False: 2.78k]
  ------------------
 8526|     13|            char msg[60]; snprintf(msg, sizeof(msg), "bad DT_{%#x} = %#x (beyond EOF)",
  ------------------
  |  |   75|     13|#define snprintf  upx_safe_snprintf
  ------------------
 8527|     13|                k, dt_offsets[n_off]);
 8528|     13|                throwCantPack(msg);
 8529|     13|        }
 8530|  2.78k|        n_off += !!dt_offsets[n_off];
 8531|  2.78k|    }
 8532|    919|    dt_offsets[n_off++] = file_size;  // sentinel
 8533|    919|    upx_qsort(dt_offsets, n_off, sizeof(dt_offsets[0]), qcmp_unsigned);
  ------------------
  |  |  220|    919|#define upx_qsort ::qsort
  ------------------
 8534|    919|}
_ZN14PackLinuxElf6411find_dt_ndxEy:
 8537|  1.22k|{
 8538|  1.22k|    unsigned *const dto = (unsigned *)mb_dt_offsets.getVoidPtr();
 8539|  1.22k|    unsigned const dto_size = mb_dt_offsets.getSize() / sizeof(*dto);
 8540|  2.94k|    for (unsigned j = 0; j < dto_size && dto[j]; ++j) { // linear search of short table
  ------------------
  |  Branch (8540:26): [True: 2.94k, False: 0]
  |  Branch (8540:42): [True: 2.90k, False: 46]
  ------------------
 8541|  2.90k|        if (rva == dto[j]) {
  ------------------
  |  Branch (8541:13): [True: 1.17k, False: 1.72k]
  ------------------
 8542|  1.17k|            return j;
 8543|  1.17k|        }
 8544|  2.90k|    }
 8545|     46|    return ~0u;
 8546|  1.22k|}
_ZN14PackLinuxElf6419elf_find_table_sizeEjj:
 8549|  1.37k|{
 8550|  1.37k|    Elf64_Shdr const *sec = elf_find_section_type(sh_type);
 8551|  1.37k|    if (sec) { // Cheat the easy way: use _Shdr.  (No _Shdr anyway for de-compression)
  ------------------
  |  Branch (8551:9): [True: 0, False: 1.37k]
  ------------------
 8552|      0|        return get_te64(&sec->sh_size);
 8553|      0|    }
 8554|       |    // Honest hard work: use _Phdr
 8555|  1.37k|    unsigned x_rva;
 8556|  1.37k|    if (dt_type < DT_NUM) {
  ------------------
  |  Branch (8556:9): [True: 1.01k, False: 351]
  ------------------
 8557|  1.01k|        unsigned const x_ndx = dt_table[dt_type];
 8558|  1.01k|        if (!x_ndx) { // no such entry
  ------------------
  |  Branch (8558:13): [True: 148, False: 871]
  ------------------
 8559|    148|            return 0;
 8560|    148|        }
 8561|    871|        x_rva = get_te64(&dynseg[-1+ x_ndx].d_val);
 8562|    871|    }
 8563|    351|    else {
 8564|    351|        x_rva = elf_unsigned_dynamic(dt_type);
 8565|    351|    }
 8566|  1.22k|    Elf64_Phdr const *const x_phdr = elf_find_Phdr_for_va(x_rva, phdri, e_phnum);
 8567|  1.22k|    if (!x_phdr)
  ------------------
  |  Branch (8567:9): [True: 1, False: 1.22k]
  ------------------
 8568|      1|        return ~0u;  // corrupted Phdrs?
 8569|  1.22k|    unsigned const           d_off =             x_rva - get_te64(&x_phdr->p_vaddr);
 8570|  1.22k|    unsigned const           y_ndx = find_dt_ndx(d_off + get_te64(&x_phdr->p_offset));
 8571|  1.22k|    if (~0u != y_ndx) {
  ------------------
  |  Branch (8571:9): [True: 1.17k, False: 46]
  ------------------
 8572|  1.17k|        return dt_offsets[1+ y_ndx] - dt_offsets[y_ndx];
 8573|  1.17k|    }
 8574|     46|    return ~0u;
 8575|  1.22k|}
_ZN14PackLinuxElf6417invert_pt_dynamicEPKN5N_Elf3DynINS0_9ElfITypesI4LE164LE324LE64S5_S5_EEEEy:
 8579|  1.45k|{
 8580|  1.45k|    if (dt_table[Elf64_Dyn::DT_NULL]) {
  ------------------
  |  Branch (8580:9): [True: 193, False: 1.26k]
  ------------------
 8581|    193|        return;  // not 1st time; do not change upx_dt_init
 8582|    193|    }
 8583|  1.26k|    Elf64_Dyn const *const dynp0 = dynp;
 8584|  1.26k|    unsigned ndx = 0;
 8585|  1.26k|    unsigned const limit = headway / sizeof(*dynp);
 8586|  1.26k|    if (dynp)
  ------------------
  |  Branch (8586:9): [True: 1.26k, False: 0]
  ------------------
 8587|  14.0k|    for (; ; ++ndx, ++dynp) {
 8588|  14.0k|        if (limit <= ndx) {
  ------------------
  |  Branch (8588:13): [True: 8, False: 14.0k]
  ------------------
 8589|      8|            throwCantPack("DT_NULL not found");
 8590|      8|        }
 8591|  14.0k|        upx_uint64_t const d_tag = get_te64(&dynp->d_tag);
 8592|  14.0k|        if (d_tag>>32) { // outrageous
  ------------------
  |  Branch (8592:13): [True: 88, False: 13.9k]
  ------------------
 8593|     88|            throwCantPack("bad Elf64_Dyn[%d].d_tag %#lx",
 8594|     88|                ndx, (long unsigned)d_tag);
 8595|     88|        }
 8596|  13.9k|        if (d_tag < DT_NUM) {
  ------------------
  |  Branch (8596:13): [True: 8.16k, False: 5.78k]
  ------------------
 8597|  8.16k|            if (Elf64_Dyn::DT_NEEDED != d_tag
  ------------------
  |  Branch (8597:17): [True: 7.69k, False: 470]
  ------------------
 8598|  7.69k|            &&  dt_table[d_tag]
  ------------------
  |  Branch (8598:17): [True: 110, False: 7.58k]
  ------------------
 8599|    110|            &&    get_te64(&dynp->d_val)
  ------------------
  |  Branch (8599:19): [True: 53, False: 57]
  ------------------
 8600|    110|               != get_te64(&dynp0[-1+ dt_table[d_tag]].d_val)) {
 8601|     53|                throwCantPack("duplicate DT_%#x: [%#x] [%#x]",
 8602|     53|                    (unsigned)d_tag, -1+ dt_table[d_tag], ndx);
 8603|     53|            }
 8604|  8.10k|            dt_table[d_tag] = 1+ ndx;
 8605|  8.10k|        }
 8606|  13.8k|        if (Elf64_Dyn::DT_NULL == d_tag) {
  ------------------
  |  Branch (8606:13): [True: 1.11k, False: 12.7k]
  ------------------
 8607|  1.11k|            break;  // check here so that dt_table[DT_NULL] is set
 8608|  1.11k|        }
 8609|  13.8k|    }
 8610|  1.11k|    sort_DT64_offsets(dynp0);
 8611|       |
 8612|  1.11k|    upx_dt_init = 0;
 8613|  1.11k|         if (dt_table[Elf64_Dyn::DT_INIT])          upx_dt_init = Elf64_Dyn::DT_INIT;
  ------------------
  |  Branch (8613:14): [True: 156, False: 957]
  ------------------
 8614|    957|    else if (dt_table[Elf64_Dyn::DT_PREINIT_ARRAY]) upx_dt_init = Elf64_Dyn::DT_PREINIT_ARRAY;
  ------------------
  |  Branch (8614:14): [True: 61, False: 896]
  ------------------
 8615|    896|    else if (dt_table[Elf64_Dyn::DT_INIT_ARRAY])    upx_dt_init = Elf64_Dyn::DT_INIT_ARRAY;
  ------------------
  |  Branch (8615:14): [True: 16, False: 880]
  ------------------
 8616|       |
 8617|  1.11k|    unsigned const z_str = dt_table[Elf64_Dyn::DT_STRSZ];
 8618|  1.11k|    strtab_max = !z_str ? 0 : get_te64(&dynp0[-1+ z_str].d_val);
  ------------------
  |  Branch (8618:18): [True: 46, False: 1.06k]
  ------------------
 8619|  1.11k|    unsigned const z_tab = dt_table[Elf64_Dyn::DT_STRTAB];
 8620|  1.11k|    unsigned const tmp1 = !z_tab ? 0 : get_te64(&dynp0[-1+ z_tab].d_val);
  ------------------
  |  Branch (8620:27): [True: 28, False: 1.08k]
  ------------------
 8621|  1.11k|    if (tmp1 < sz_elf_hdrs) {
  ------------------
  |  Branch (8621:9): [True: 33, False: 1.08k]
  ------------------
 8622|     33|        throwCantPack("bad DT_STRTAB %#x", tmp1);
 8623|     33|    }
 8624|  1.08k|    unsigned const strtab_beg = !z_tab ? 0 : elf_get_offset_from_address(tmp1);
  ------------------
  |  Branch (8624:33): [True: 0, False: 1.08k]
  ------------------
 8625|       |
 8626|  1.08k|    if (!z_str || !z_tab || !(strtab_max + strtab_beg)
  ------------------
  |  Branch (8626:9): [True: 301, False: 779]
  |  Branch (8626:19): [True: 0, False: 779]
  |  Branch (8626:29): [True: 1, False: 778]
  ------------------
 8627|    778|    || (this->file_size - strtab_beg) < strtab_max  // strtab overlaps EOF
  ------------------
  |  Branch (8627:8): [True: 60, False: 718]
  ------------------
 8628|       |        // last string in table must have terminating NUL
 8629|    718|    ||  '\0' != ((char *)file_image.getVoidPtr())[-1+ strtab_max + strtab_beg]
  ------------------
  |  Branch (8629:9): [True: 8, False: 710]
  ------------------
 8630|  1.08k|    ) {
 8631|     72|        throwCantPack("bad DT_STRSZ %#x", strtab_max);
 8632|     72|    }
 8633|       |
 8634|  1.00k|    { // Find end of DT_SYMTAB
 8635|  1.00k|        unsigned const tmp2 = elf_find_table_size(Elf64_Dyn::DT_SYMTAB,
 8636|  1.00k|            Elf64_Shdr::SHT_DYNSYM);
 8637|  1.00k|        symnum_max = (~0u == tmp2) ? 0 : tmp2 / sizeof(Elf64_Sym);
  ------------------
  |  Branch (8637:22): [True: 9, False: 999]
  ------------------
 8638|  1.00k|    }
 8639|       |
 8640|  1.00k|    unsigned v_sym = dt_table[Elf64_Dyn::DT_SYMTAB];
 8641|  1.00k|    if (v_sym) {
  ------------------
  |  Branch (8641:9): [True: 562, False: 446]
  ------------------
 8642|    562|        v_sym = elf_get_offset_from_address(get_te64(&dynp0[-1+ v_sym].d_val));
 8643|    562|    }
 8644|       |
 8645|  1.00k|    unsigned v_hsh = dt_table[Elf64_Dyn::DT_HASH];
 8646|  1.00k|    if (v_hsh) {
  ------------------
  |  Branch (8646:9): [True: 369, False: 639]
  ------------------
 8647|    369|        v_hsh = elf_get_offset_from_address(get_te64(&dynp0[-1+ v_hsh].d_val));
 8648|    369|    }
 8649|  1.00k|    if (v_hsh && file_image) {
  ------------------
  |  Branch (8649:9): [True: 346, False: 662]
  |  Branch (8649:18): [True: 346, False: 0]
  ------------------
 8650|    346|        hashtab = (unsigned const *)elf_find_dynamic(Elf64_Dyn::DT_HASH);
 8651|    346|        if (!hashtab) {
  ------------------
  |  Branch (8651:13): [True: 37, False: 309]
  ------------------
 8652|     37|            throwCantPack("bad DT_HASH %#x", v_hsh);
 8653|     37|        }
 8654|       |        // Find end of DT_HASH
 8655|    309|        hashend = (unsigned const *)(void const *)(elf_find_table_size(
 8656|    309|            Elf64_Dyn::DT_HASH, Elf64_Shdr::SHT_HASH) + (char const *)hashtab);
 8657|    309|        if (!hashtab || (char const *)hashend <= (char const *)&hashtab[2]
  ------------------
  |  Branch (8657:13): [True: 0, False: 309]
  |  Branch (8657:25): [True: 1, False: 308]
  ------------------
 8658|    308|        ||  file_image.getSizeInBytes()
  ------------------
  |  Branch (8658:13): [True: 4, False: 304]
  ------------------
 8659|    308|            < (unsigned)((char const *)&hashtab[2] - (char *)&file_image[0]) )
 8660|      5|        {
 8661|      5|            throwCantPack("bad DT_HASH %#x", v_hsh);
 8662|      5|        }
 8663|       |
 8664|    304|        unsigned const nbucket = get_te32(&hashtab[0]);
 8665|    304|        unsigned const *const buckets = &hashtab[2];
 8666|    304|        unsigned const *const chains = &buckets[nbucket]; (void)chains;
 8667|    304|        if ((unsigned)(file_size - ((char const *)buckets - (char const *)(void const *)file_image))
  ------------------
  |  Branch (8667:13): [True: 31, False: 273]
  ------------------
 8668|    304|                <= sizeof(unsigned)*nbucket ) {
 8669|     31|            throwCantPack("bad nbucket %#x\n", nbucket);
 8670|     31|        }
 8671|       |
 8672|    273|        if ((unsigned)(hashend - buckets) < nbucket
  ------------------
  |  Branch (8672:13): [True: 14, False: 259]
  ------------------
 8673|    259|        || !v_sym || file_size_u <= v_sym
  ------------------
  |  Branch (8673:12): [True: 21, False: 238]
  |  Branch (8673:22): [True: 0, False: 238]
  ------------------
 8674|    238|        || ((v_hsh < v_sym) && (v_sym - v_hsh) < sizeof(*buckets)*(2+ nbucket))
  ------------------
  |  Branch (8674:13): [True: 138, False: 100]
  |  Branch (8674:32): [True: 2, False: 136]
  ------------------
 8675|    273|        ) {
 8676|     37|            throwCantPack("bad DT_HASH nbucket=%#x  len=%#x",
 8677|     37|                nbucket, (v_sym - v_hsh));
 8678|     37|        }
 8679|    236|        unsigned chmax = 0;
 8680|  4.76k|        for (unsigned j= 0; j < nbucket; ++j) {
  ------------------
  |  Branch (8680:29): [True: 4.52k, False: 236]
  ------------------
 8681|  4.52k|            unsigned x = get_te32(&buckets[j]);
 8682|  4.52k|            if (chmax < x) {
  ------------------
  |  Branch (8682:17): [True: 517, False: 4.01k]
  ------------------
 8683|    517|                chmax = x;
 8684|    517|            }
 8685|  4.52k|        }
 8686|    236|        if ((v_hsh < v_sym) && (v_sym - v_hsh) <
  ------------------
  |  Branch (8686:13): [True: 136, False: 100]
  |  Branch (8686:32): [True: 15, False: 121]
  ------------------
 8687|    136|                (sizeof(*buckets)*(2+ nbucket) + sizeof(*chains)*(1+ chmax))) {
 8688|     15|            throwCantPack("bad DT_HASH nbucket=%#x  len=%#x",
 8689|     15|                nbucket, (v_sym - v_hsh));
 8690|     15|        }
 8691|    236|    }
 8692|    883|    unsigned const v_gsh = elf_unsigned_dynamic(Elf64_Dyn::DT_GNU_HASH);
 8693|    883|    if (v_gsh && file_image) {
  ------------------
  |  Branch (8693:9): [True: 351, False: 532]
  |  Branch (8693:18): [True: 351, False: 0]
  ------------------
 8694|       |        // Not similar to DT_HASH because DT_GNU_HASH is not small (0x6ffffef5).
 8695|    351|        gashtab = (unsigned const *)elf_find_dynamic(Elf64_Dyn::DT_GNU_HASH);
 8696|    351|        gashend = (unsigned const *)(void const *)(elf_find_table_size(
 8697|    351|            Elf64_Dyn::DT_GNU_HASH, Elf64_Shdr::SHT_GNU_HASH) + (char const *)gashtab);
 8698|    351|        if (!gashtab || (char const *)gashend <= (char const *)&gashtab[4]
  ------------------
  |  Branch (8698:13): [True: 0, False: 351]
  |  Branch (8698:25): [True: 2, False: 349]
  ------------------
 8699|    349|        ||  file_image.getSizeInBytes()
  ------------------
  |  Branch (8699:13): [True: 0, False: 349]
  ------------------
 8700|    349|            < (unsigned)((char const *)&gashtab[4] - (char *)&file_image[0]) )
 8701|      2|        {
 8702|      2|            throwCantPack("bad DT_GNU_HASH %#x", v_gsh);
 8703|      2|        }
 8704|       |
 8705|    349|        unsigned const n_bucket = get_te32(&gashtab[0]);
 8706|    349|        unsigned const symbias  = get_te32(&gashtab[1]);
 8707|    349|        unsigned const n_bitmask = get_te32(&gashtab[2]);
 8708|    349|        unsigned const gnu_shift = get_te32(&gashtab[3]);
 8709|    349|        upx_uint64_t const *const bitmask = (upx_uint64_t const *)(void const *)&gashtab[4];
 8710|    349|        unsigned     const *const buckets = (unsigned const *)&bitmask[n_bitmask];
 8711|    349|        unsigned     const *const hasharr = &buckets[n_bucket]; (void)hasharr;
 8712|    349|        if (!n_bucket || (1u<<31) <= n_bucket  /* fie on fuzzers */
  ------------------
  |  Branch (8712:13): [True: 3, False: 346]
  |  Branch (8712:26): [True: 35, False: 311]
  ------------------
 8713|    311|        || (unsigned)(gashend - buckets) < n_bucket
  ------------------
  |  Branch (8713:12): [True: 20, False: 291]
  ------------------
 8714|    291|        || (file_size + file_image) <= (void const *)hasharr) {
  ------------------
  |  Branch (8714:12): [True: 20, False: 271]
  ------------------
 8715|     78|            throwCantPack("bad n_bucket %#x\n", n_bucket);
 8716|     78|        }
 8717|       |        // It would be better to detect zeroes shifted into low 6 bits of:
 8718|       |        //    (077 & (hash_32 >> gnu_shift))
 8719|       |        // but compilers can be stupid.
 8720|    271|        if (31 < gnu_shift) {
  ------------------
  |  Branch (8720:13): [True: 34, False: 237]
  ------------------
 8721|     34|            throwCantPack("bad gnu_shift %#x", gnu_shift);
 8722|     34|        }
 8723|       |        // unsigned const *const gashend = &hasharr[n_bucket];
 8724|       |        // minimum, except:
 8725|       |        // Rust and Android trim unused zeroes from high end of hasharr[]
 8726|    237|        unsigned bmax = 0;
 8727|   161k|        for (unsigned j= 0; j < n_bucket; ++j) {
  ------------------
  |  Branch (8727:29): [True: 161k, False: 234]
  ------------------
 8728|   161k|            unsigned bj = get_te32(&buckets[j]);
 8729|   161k|            if (bj) {
  ------------------
  |  Branch (8729:17): [True: 153k, False: 7.54k]
  ------------------
 8730|   153k|                if (bj < symbias) {
  ------------------
  |  Branch (8730:21): [True: 3, False: 153k]
  ------------------
 8731|      3|                    throwCantPack("bad DT_GNU_HASH bucket[%d] < symbias{%#x}\n",
 8732|      3|                            bj, symbias);
 8733|      3|                }
 8734|   153k|                if (bmax < bj) {
  ------------------
  |  Branch (8734:21): [True: 842, False: 153k]
  ------------------
 8735|    842|                    bmax = bj;
 8736|    842|                }
 8737|   153k|            }
 8738|   161k|        }
 8739|    234|        if (1==n_bucket  && 0==buckets[0]
  ------------------
  |  Branch (8739:13): [True: 95, False: 139]
  |  Branch (8739:29): [True: 68, False: 27]
  ------------------
 8740|     68|        &&  1==n_bitmask && 0==bitmask[0]) {
  ------------------
  |  Branch (8740:13): [True: 57, False: 11]
  |  Branch (8740:29): [True: 30, False: 27]
  ------------------
 8741|       |            // 2021-09-11 Rust on RaspberryPi apparently uses this to minimize space.
 8742|       |            // But then the DT_GNU_HASH symbol lookup algorithm always fails?
 8743|       |            // https://github.com/upx/upx/issues/525
 8744|     30|        } else
 8745|    204|        if (bmax) {
  ------------------
  |  Branch (8745:13): [True: 164, False: 40]
  ------------------
 8746|    164|            if ((1+ bmax) < symbias) {
  ------------------
  |  Branch (8746:17): [True: 1, False: 163]
  ------------------
 8747|      1|                throwCantPack("bad DT_GNU_HASH (1+ max_bucket)=%#x < symbias=%#x",
 8748|      1|                    1+ bmax, symbias);
 8749|      1|            }
 8750|    163|            bmax -= symbias;
 8751|    163|        }
 8752|       |
 8753|    233|        unsigned r = 0;
 8754|    233|        if (!n_bucket || !n_bitmask || !v_sym
  ------------------
  |  Branch (8754:13): [True: 0, False: 233]
  |  Branch (8754:26): [True: 7, False: 226]
  |  Branch (8754:40): [True: 5, False: 221]
  ------------------
 8755|    221|        || (r=1, ((-1+ n_bitmask) & n_bitmask))  // not a power of 2
  ------------------
  |  Branch (8755:12): [True: 5, False: 216]
  ------------------
 8756|    216|        || (r=2, (8*sizeof(upx_uint64_t) <= gnu_shift))  // shifted result always == 0
  ------------------
  |  Branch (8756:12): [True: 0, False: 216]
  ------------------
 8757|    216|        || (r=3, (n_bucket>>30))  // fie on fuzzers
  ------------------
  |  Branch (8757:12): [True: 0, False: 216]
  ------------------
 8758|    216|        || (r=4, (n_bitmask>>30))
  ------------------
  |  Branch (8758:12): [True: 0, False: 216]
  ------------------
 8759|    216|        || (r=5, ((file_size/sizeof(unsigned))
  ------------------
  |  Branch (8759:12): [True: 4, False: 212]
  ------------------
 8760|    216|                <= ((sizeof(*bitmask)/sizeof(unsigned))*n_bitmask + 2*n_bucket)))  // FIXME: weak
 8761|    212|        || (r=6, ((v_gsh < v_sym) && (v_sym - v_gsh) < (sizeof(unsigned)*4  // headers
  ------------------
  |  Branch (8761:12): [True: 24, False: 188]
  |  Branch (8761:19): [True: 123, False: 89]
  |  Branch (8761:38): [True: 24, False: 99]
  ------------------
 8762|    123|                + sizeof(*bitmask)*n_bitmask  // bitmask
 8763|    123|                + sizeof(*buckets)*n_bucket  // buckets
 8764|    123|                + sizeof(*hasharr)*(!bmax ? 0 : (1+ bmax))  // hasharr
  ------------------
  |  Branch (8764:37): [True: 40, False: 83]
  ------------------
 8765|    123|            )) )
 8766|    233|        ) {
 8767|     45|            throwCantPack("bad DT_GNU_HASH n_bucket=%#x  n_bitmask=%#x  len=%#lx  r=%d",
 8768|     45|                n_bucket, n_bitmask, (long unsigned)(v_sym - v_gsh), r);
 8769|     45|        }
 8770|    233|    }
 8771|    720|    e_shstrndx = get_te16(&ehdri.e_shstrndx);  // who omitted this?
 8772|    720|    if (e_shnum <= e_shstrndx
  ------------------
  |  Branch (8772:9): [True: 73, False: 647]
  ------------------
 8773|     73|    &&  !(0==e_shnum && 0==e_shstrndx) ) {
  ------------------
  |  Branch (8773:11): [True: 72, False: 1]
  |  Branch (8773:25): [True: 69, False: 3]
  ------------------
 8774|      4|        throwCantPack("bad .e_shstrndx %d >= .e_shnum %d", e_shstrndx, e_shnum);
 8775|      4|    }
 8776|    720|}
_ZN14PackLinuxElf326unpackEP10OutputFile:
 9027|  2.12k|{
 9028|  2.12k|    if (e_phoff != sizeof(Elf32_Ehdr)) {// Phdrs not contiguous with Ehdr
  ------------------
  |  Branch (9028:9): [True: 0, False: 2.12k]
  ------------------
 9029|      0|        throwCantUnpack("bad e_phoff");
 9030|      0|    }
 9031|  2.12k|    unsigned const c_phnum = get_te16(&ehdri.e_phnum);
 9032|  2.12k|    unsigned u_phnum = 0;
 9033|  2.12k|    upx_uint32_t old_dtinit = 0;
 9034|       |
 9035|  2.12k|    if (Elf32_Ehdr::ET_EXEC == get_te16(&ehdri.e_type)) {
  ------------------
  |  Branch (9035:9): [True: 2.05k, False: 72]
  ------------------
 9036|       |// 40fddf17153ee3db73a04ff1bf288b91676138d6 2001-02-01 ph.version 11; b_info 12 bytes
 9037|       |// df9db96bd1c013c07da1d7ec740021d588ab2815 2001-01-17 ph.version 11; no b_info (==> 8 bytes)
 9038|  2.05k|        if (ph.version <= 11
  ------------------
  |  Branch (9038:13): [True: 10, False: 2.04k]
  ------------------
 9039|     10|        &&  get_te32(&ehdri.e_entry) < 0x401180
  ------------------
  |  Branch (9039:13): [True: 3, False: 7]
  ------------------
 9040|      3|        &&  get_te16(&ehdri.e_machine)==Elf32_Ehdr::EM_386) {
  ------------------
  |  Branch (9040:13): [True: 1, False: 2]
  ------------------
 9041|       |            // old style, 8-byte b_info:
 9042|       |            // sizeof(b_info.sz_unc) + sizeof(b_info.sz_cpr);
 9043|      1|            szb_info = 2*sizeof(unsigned);
 9044|      1|        }
 9045|  2.05k|    }
 9046|       |
 9047|  2.12k|    fi->seek(overlay_offset - sizeof(l_info), SEEK_SET);
 9048|  2.12k|    fi->readx(&linfo, sizeof(linfo));
 9049|  2.12k|    if (UPX_MAGIC_LE32 != get_le32(&linfo.l_magic)) {
  ------------------
  |  |  534|  2.12k|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (9049:9): [True: 113, False: 2.01k]
  ------------------
 9050|    113|        NE32 const *const lp = (NE32 const *)(void const *)&linfo;
 9051|       |        // Workaround for bug of extra linfo by some asl_pack2_Shdrs().
 9052|    113|        if (0==lp[0] && 0==lp[1] && 0==lp[2]) { // looks like blank extra
  ------------------
  |  Branch (9052:13): [True: 80, False: 33]
  |  Branch (9052:25): [True: 40, False: 40]
  |  Branch (9052:37): [True: 23, False: 17]
  ------------------
 9053|     23|            fi->readx(&linfo, sizeof(linfo));
 9054|     23|            if (UPX_MAGIC_LE32 == get_le32(&linfo.l_magic)) {
  ------------------
  |  |  534|     23|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (9054:17): [True: 1, False: 22]
  ------------------
 9055|      1|                overlay_offset += sizeof(linfo);
 9056|      1|            }
 9057|     22|            else {
 9058|     22|                throwCantUnpack("l_info corrupted");
 9059|     22|            }
 9060|     23|        }
 9061|     90|        else {
 9062|     90|            throwCantUnpack("l_info corrupted");
 9063|     90|        }
 9064|    113|    }
 9065|  2.01k|    lsize = get_te16(&linfo.l_lsize);
 9066|  2.01k|    p_info hbuf;  fi->readx(&hbuf, sizeof(hbuf));
 9067|  2.01k|    unsigned orig_file_size = get_te32(&hbuf.p_filesize);
 9068|  2.01k|    blocksize = get_te32(&hbuf.p_blocksize);
 9069|  2.01k|    if ((u32_t)file_size > orig_file_size || blocksize > orig_file_size
  ------------------
  |  Branch (9069:9): [True: 3, False: 2.01k]
  |  Branch (9069:46): [True: 21, False: 1.98k]
  ------------------
 9070|  1.98k|        || (orig_file_size >> 8) > (u32_t)file_size  // heuristic anti-fuzz
  ------------------
  |  Branch (9070:12): [True: 50, False: 1.93k]
  ------------------
 9071|  1.93k|        ||      (blocksize >> 8) > (u32_t)file_size
  ------------------
  |  Branch (9071:17): [True: 0, False: 1.93k]
  ------------------
 9072|  1.93k|        || !mem_size_valid(1, blocksize, OVERHEAD))
  ------------------
  |  Branch (9072:12): [True: 0, False: 1.93k]
  ------------------
 9073|     72|        throwCantUnpack("p_info corrupted");
 9074|       |
 9075|  1.94k|    ibuf.alloc(blocksize + OVERHEAD);
 9076|  1.94k|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 9077|  1.94k|    fi->readx(&bhdr, szb_info);
 9078|  1.94k|    ph.u_len = get_te32(&bhdr.sz_unc);
 9079|  1.94k|    ph.c_len = get_te32(&bhdr.sz_cpr);
 9080|  1.94k|    ph.set_method(bhdr.b_method, overlay_offset + sizeof(p_info));
 9081|  1.94k|    if (ph.c_len > (unsigned)file_size || ph.c_len == 0 || ph.u_len == 0
  ------------------
  |  Branch (9081:9): [True: 25, False: 1.91k]
  |  Branch (9081:43): [True: 1, False: 1.91k]
  |  Branch (9081:60): [True: 1, False: 1.91k]
  ------------------
 9082|  1.91k|    ||  ph.u_len > orig_file_size)
  ------------------
  |  Branch (9082:9): [True: 43, False: 1.87k]
  ------------------
 9083|     67|        throwCantUnpack("b_info corrupted");
 9084|  1.87k|    ph.filter_cto = bhdr.b_cto8;
 9085|  1.87k|    prev_method = bhdr.b_method;  // FIXME if multiple de-compressors
 9086|       |
 9087|  1.87k|    MemBuffer u(ph.u_len);
 9088|  1.87k|    Elf32_Ehdr *const ehdr = (Elf32_Ehdr *)&u[0];
 9089|  1.87k|    Elf32_Phdr const *phdr = nullptr;
 9090|  1.87k|    total_in = 0;
 9091|  1.87k|    total_out = 0;
 9092|  1.87k|    unsigned c_adler = upx_adler32(nullptr, 0);
 9093|  1.87k|    unsigned u_adler = upx_adler32(nullptr, 0);
 9094|       |
 9095|  1.87k|    unsigned is_shlib = 0;
 9096|  1.87k|    loader_offset = 0;
 9097|  1.87k|    MemBuffer o_elfhdrs;
 9098|  1.87k|    Elf32_Phdr const *const dynhdr = elf_find_ptype(Elf32_Phdr::PT_DYNAMIC, phdri, c_phnum);
 9099|       |    // dynseg was set by PackLinuxElf32help1
 9100|  1.87k|    if (dynhdr && !(Elf32_Dyn::DF_1_PIE & elf_unsigned_dynamic(Elf32_Dyn::DT_FLAGS_1))) {
  ------------------
  |  Branch (9100:9): [True: 172, False: 1.70k]
  |  Branch (9100:19): [True: 172, False: 0]
  ------------------
 9101|       |        // Packed shlib? (ET_DYN without -fPIE)
 9102|    172|        is_shlib = 1;
 9103|    172|        xct_off = overlay_offset - sizeof(l_info);
 9104|    172|        u_phnum = get_te16(&ehdri.e_phnum);
 9105|    172|        o_elfhdrs.alloc(sz_elf_hdrs);
 9106|    172|        un_shlib_1(fo, o_elfhdrs, c_adler, u_adler, orig_file_size);
 9107|    172|        *ehdr = ehdri;
 9108|    172|    }
 9109|  1.70k|    else { // main executable
 9110|       |        // Uncompress Ehdr and Phdrs: info for control of unpacking
 9111|  1.70k|        if (ibuf.getSize() < ph.c_len)
  ------------------
  |  Branch (9111:13): [True: 1, False: 1.70k]
  ------------------
 9112|      1|            throwCompressedDataViolation();
 9113|  1.70k|        fi->readx(ibuf, ph.c_len);
 9114|  1.70k|        if (ph.u_len < sizeof(*ehdr))
  ------------------
  |  Branch (9114:13): [True: 4, False: 1.69k]
  ------------------
 9115|      4|            throwCantUnpack("ElfXX_Ehdr corrupted");
 9116|  1.69k|        decompress(ibuf, (upx_byte *)ehdr, false);
 9117|  1.69k|        if (ehdr->e_type   !=ehdri.e_type
  ------------------
  |  Branch (9117:13): [True: 961, False: 736]
  ------------------
 9118|    736|        ||  ehdr->e_machine!=ehdri.e_machine
  ------------------
  |  Branch (9118:13): [True: 1, False: 735]
  ------------------
 9119|    735|        ||  ehdr->e_version!=ehdri.e_version
  ------------------
  |  Branch (9119:13): [True: 0, False: 735]
  ------------------
 9120|       |            // less strict for EM_PPC to workaround earlier bug
 9121|    735|        ||  !( ehdr->e_flags==ehdri.e_flags
  ------------------
  |  Branch (9121:16): [True: 406, False: 329]
  ------------------
 9122|    329|            || Elf32_Ehdr::EM_PPC == get_te16(&ehdri.e_machine))
  ------------------
  |  Branch (9122:16): [True: 326, False: 3]
  ------------------
 9123|    732|        ||  ehdr->e_ehsize !=ehdri.e_ehsize
  ------------------
  |  Branch (9123:13): [True: 5, False: 727]
  ------------------
 9124|       |            // check EI_MAG[0-3], EI_CLASS, EI_DATA, EI_VERSION
 9125|    727|        ||  memcmp(ehdr->e_ident, ehdri.e_ident, Elf32_Ehdr::EI_OSABI)) {
  ------------------
  |  Branch (9125:13): [True: 6, False: 721]
  ------------------
 9126|     17|            throwCantUnpack("ElfXX_Ehdr corrupted");
 9127|     17|        }
 9128|       |        // Rewind: prepare for data phase
 9129|  1.68k|        fi->seek(- (off_t) (szb_info + ph.c_len), SEEK_CUR);
 9130|       |
 9131|  1.68k|        u_phnum = get_te16(&ehdr->e_phnum);
 9132|  1.68k|        if ((umin(MAX_ELF_HDR_32, ph.u_len) - sizeof(Elf32_Ehdr))/sizeof(Elf32_Phdr) < u_phnum) {
  ------------------
  |  Branch (9132:13): [True: 1, False: 1.67k]
  ------------------
 9133|      1|            throwCantUnpack("bad compressed e_phnum");
 9134|      1|        }
 9135|  1.67k|        o_elfhdrs.alloc(sizeof(Elf32_Ehdr) + u_phnum * sizeof(Elf32_Phdr));
 9136|  1.67k|        memcpy(o_elfhdrs, ehdr, o_elfhdrs.getSize());
 9137|       |
 9138|       |        // Decompress each PT_LOAD.
 9139|  1.67k|        bool first_PF_X = true;
 9140|  1.67k|        phdr = (Elf32_Phdr *) (void *) (1+ ehdr);  // uncompressed
 9141|  3.44k|        for (unsigned j=0; j < u_phnum; ++phdr, ++j) {
  ------------------
  |  Branch (9141:28): [True: 1.76k, False: 1.67k]
  ------------------
 9142|  1.76k|            if (is_LOAD(phdr)) {
  ------------------
  |  Branch (9142:17): [True: 632, False: 1.13k]
  ------------------
 9143|    632|                unsigned const filesz = get_te32(&phdr->p_filesz);
 9144|    632|                unsigned const offset = get_te32(&phdr->p_offset);
 9145|    632|                if (fo) {
  ------------------
  |  Branch (9145:21): [True: 632, False: 0]
  ------------------
 9146|    632|                    fo->seek(offset, SEEK_SET);
 9147|    632|                    if (total_out < offset) {
  ------------------
  |  Branch (9147:25): [True: 53, False: 579]
  ------------------
 9148|     53|                        total_out = offset;  // FIXME: can it be re-write?
 9149|     53|                    }
 9150|    632|                }
 9151|    632|                if (Elf32_Phdr::PF_X & get_te32(&phdr->p_flags)) {
  ------------------
  |  Branch (9151:21): [True: 570, False: 62]
  ------------------
 9152|    570|                    unpackExtent(filesz, fo,
 9153|    570|                        c_adler, u_adler, first_PF_X);
 9154|    570|                    first_PF_X = false;
 9155|    570|                }
 9156|     62|                else {
 9157|     62|                    unpackExtent(filesz, fo,
 9158|     62|                        c_adler, u_adler, false);
 9159|     62|                }
 9160|    632|            }
 9161|  1.76k|        }
 9162|  1.67k|    }
 9163|       |
 9164|  1.85k|    upx_uint32_t const e_entry = get_te32(&ehdri.e_entry);
 9165|  1.85k|    unsigned off_entry = 0;
 9166|  1.85k|    phdr = phdri;
 9167|  1.85k|    load_va = 0;
 9168|  4.86k|    for (unsigned j=0; j < c_phnum; ++j, ++phdr) {
  ------------------
  |  Branch (9168:24): [True: 3.09k, False: 1.77k]
  ------------------
 9169|  3.09k|        if (is_LOAD(phdr)) {
  ------------------
  |  Branch (9169:13): [True: 240, False: 2.85k]
  ------------------
 9170|    240|            upx_uint32_t offset = get_te32(&phdr->p_offset);
 9171|    240|            upx_uint32_t vaddr  = get_te32(&phdr->p_vaddr);
 9172|    240|            upx_uint32_t filesz = get_te32(&phdr->p_filesz);
 9173|    240|            if (!load_va) {
  ------------------
  |  Branch (9173:17): [True: 152, False: 88]
  ------------------
 9174|    152|                load_va = vaddr;
 9175|    152|            }
 9176|    240|            if ((e_entry - vaddr) < filesz) {
  ------------------
  |  Branch (9176:17): [True: 77, False: 163]
  ------------------
 9177|     77|                off_entry = (e_entry - vaddr) + offset;
 9178|     77|                break;
 9179|     77|            }
 9180|    240|        }
 9181|  3.09k|    }
 9182|  1.85k|    unsigned d_info[6];
 9183|  1.85k|    unsigned sz_d_info = sizeof(d_info);
 9184|  1.85k|    if (!is_shlib) {
  ------------------
  |  Branch (9184:9): [True: 193, False: 1.65k]
  ------------------
 9185|    193|        if (get_te32(&phdri[0].p_flags) & Elf32_Phdr::PF_X) {
  ------------------
  |  Branch (9185:13): [True: 127, False: 66]
  ------------------
 9186|       |            // Old style, such as upx-3.91 thru upx-3.95
 9187|    127|            switch (this->e_machine) {
 9188|      0|                default: {
  ------------------
  |  Branch (9188:17): [True: 0, False: 127]
  ------------------
 9189|      0|                    char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 9190|      0|                        "Unknown architecture %d", this->e_machine);
 9191|      0|                    throwCantUnpack(msg);
 9192|      0|                }; break;
 9193|      3|                case Elf32_Ehdr::EM_MIPS:sz_d_info = 1 * sizeof(unsigned); break;
  ------------------
  |  Branch (9193:17): [True: 3, False: 124]
  ------------------
 9194|    105|                case Elf32_Ehdr::EM_ARM: sz_d_info = 4 * sizeof(unsigned); break;
  ------------------
  |  Branch (9194:17): [True: 105, False: 22]
  ------------------
 9195|      3|                case Elf32_Ehdr::EM_PPC: sz_d_info = 3 * sizeof(unsigned); break;
  ------------------
  |  Branch (9195:17): [True: 3, False: 124]
  ------------------
 9196|     16|                case Elf32_Ehdr::EM_386: sz_d_info = 2 * sizeof(unsigned); break;
  ------------------
  |  Branch (9196:17): [True: 16, False: 111]
  ------------------
 9197|    127|            }
 9198|    127|        }
 9199|    193|        loader_offset = off_entry - sz_d_info;
 9200|    193|    }
 9201|       |
 9202|  1.85k|    if (0x1000==get_te32(&phdri[0].p_filesz)  // detect C_BASE style
  ------------------
  |  Branch (9202:9): [True: 84, False: 1.76k]
  ------------------
 9203|     84|    &&  0==get_te32(&phdri[1].p_offset)
  ------------------
  |  Branch (9203:9): [True: 54, False: 30]
  ------------------
 9204|     54|    &&  0==get_te32(&phdri[0].p_offset)
  ------------------
  |  Branch (9204:9): [True: 47, False: 7]
  ------------------
 9205|     47|    &&     get_te32(&phdri[1].p_filesz) == get_te32(&phdri[1].p_memsz)) {
  ------------------
  |  Branch (9205:12): [True: 7, False: 40]
  ------------------
 9206|      7|        fi->seek(up4(get_te32(&phdri[1].p_memsz)), SEEK_SET);  // past the loader
 9207|      7|    }
 9208|  1.84k|    else if (is_shlib
  ------------------
  |  Branch (9208:14): [True: 1.65k, False: 186]
  ------------------
 9209|    186|    ||  (off_entry + up4(lsize) + ph.getPackHeaderSize() + sizeof(overlay_offset))
  ------------------
  |  Branch (9209:9): [True: 48, False: 138]
  ------------------
 9210|    186|            < up4(file_size)) {
 9211|       |        // Loader is not at end; skip past it.
 9212|     75|        if (loader_offset) {
  ------------------
  |  Branch (9212:13): [True: 74, False: 1]
  ------------------
 9213|     74|            fi->seek(loader_offset, SEEK_SET);
 9214|     74|        }
 9215|      1|        else {
 9216|      1|            funpad4(fi);  // MATCH01
 9217|      1|        }
 9218|     75|        fi->readx(d_info, sz_d_info);
 9219|     75|        if (is_shlib && 0==old_dtinit) {
  ------------------
  |  Branch (9219:13): [True: 27, False: 48]
  |  Branch (9219:25): [True: 27, False: 0]
  ------------------
 9220|     27|            old_dtinit = get_te32(&d_info[2 + (0==d_info[0])]);
 9221|     27|            is_asl = 1u& get_te32(&d_info[0 + (0==d_info[0])]);
 9222|     27|        }
 9223|     75|        fi->seek(lsize - sz_d_info, SEEK_CUR);
 9224|     75|    }
 9225|       |
 9226|       |    // The gaps between PT_LOAD and after last PT_LOAD
 9227|  1.85k|    phdr = (Elf32_Phdr const *)(1+ (Elf32_Ehdr const *)(void const *)o_elfhdrs);
 9228|  1.85k|    upx_uint32_t hi_offset(0);
 9229|  2.86k|    for (unsigned j = 0; j < u_phnum; ++j) {
  ------------------
  |  Branch (9229:26): [True: 1.01k, False: 1.85k]
  ------------------
 9230|  1.01k|        if (is_LOAD(&phdr[j])
  ------------------
  |  Branch (9230:13): [True: 102, False: 915]
  ------------------
 9231|    102|        &&  hi_offset < get_te32(&phdr[j].p_offset))
  ------------------
  |  Branch (9231:13): [True: 57, False: 45]
  ------------------
 9232|     57|            hi_offset = get_te32(&phdr[j].p_offset);
 9233|  1.01k|    }
 9234|  2.75k|    for (unsigned j = 0; j < u_phnum; ++j) {
  ------------------
  |  Branch (9234:26): [True: 916, False: 1.83k]
  ------------------
 9235|    916|        unsigned const size = find_LOAD_gap(phdr, j, u_phnum);
 9236|    916|        if (size) {
  ------------------
  |  Branch (9236:13): [True: 70, False: 846]
  ------------------
 9237|     70|            unsigned const where = get_te32(&phdr[j].p_offset) +
 9238|     70|                                   get_te32(&phdr[j].p_filesz);
 9239|     70|            if (fo)
  ------------------
  |  Branch (9239:17): [True: 70, False: 0]
  ------------------
 9240|     70|                fo->seek(where, SEEK_SET);
 9241|     70|            { // Recover from some piracy [also serves as error tolerance :-) ]
 9242|       |              // Getting past the loader is problematic, due to unintended
 9243|       |              // variances between released versions:
 9244|       |              //   l_info.l_lsize might be rounded up by 8 instead of by 4, and
 9245|       |              //   sz_d_info might have changed.
 9246|     70|                b_info b_peek, *bp = &b_peek;
 9247|     70|                fi->readx(bp, sizeof(b_peek));
 9248|     70|                upx_off_t pos = fi->seek(-(off_t)sizeof(b_peek), SEEK_CUR);
 9249|     70|                unsigned sz_unc = get_te32(&bp->sz_unc);
 9250|     70|                unsigned sz_cpr = get_te32(&bp->sz_cpr);
 9251|     70|                unsigned word3  = get_te32(&bp->b_method);
 9252|     70|                unsigned method = bp->b_method;
 9253|     70|                unsigned ftid = bp->b_ftid;
 9254|     70|                unsigned cto8 = bp->b_cto8;
 9255|     70|                if (!( ((sz_cpr == sz_unc) && (0 == word3) && (size == sz_unc)) // incompressible literal
  ------------------
  |  Branch (9255:25): [True: 8, False: 62]
  |  Branch (9255:47): [True: 4, False: 4]
  |  Branch (9255:63): [True: 1, False: 3]
  ------------------
 9256|     69|                    || ((sz_cpr <  sz_unc)
  ------------------
  |  Branch (9256:25): [True: 52, False: 17]
  ------------------
 9257|     52|                        && (method == prev_method || M_NRV2B_LE32 == prev_method)
  ------------------
  |  |  614|     27|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (9257:29): [True: 25, False: 27]
  |  Branch (9257:54): [True: 0, False: 27]
  ------------------
 9258|     25|                        && (0 == ftid) && (0 == cto8)) )
  ------------------
  |  Branch (9258:28): [True: 24, False: 1]
  |  Branch (9258:43): [True: 23, False: 1]
  ------------------
 9259|     70|                ) {
 9260|     46|                    opt->info_mode++;
 9261|     46|                    infoWarning("bad b_info at %#zx", (size_t)pos);
 9262|     46|                    unsigned const N_PEEK(16 * sizeof(int)), H_PEEK(N_PEEK >> 1);
 9263|     46|                    unsigned char peek_arr[N_PEEK];
 9264|     46|                    fi->seek(pos - H_PEEK, SEEK_SET);
 9265|     46|                    fi->readx(peek_arr, sizeof(peek_arr));
 9266|     46|                    fi->seek(pos, SEEK_SET);
 9267|     46|                    bool const is_be = ELFDATA2MSB == ehdri.e_ident[EI_DATA];
 9268|     46|                    if (is_be) {
  ------------------
  |  Branch (9268:25): [True: 12, False: 34]
  ------------------
 9269|       |                        // Does the right thing for sz_unc and sz_cpr,
 9270|       |                        // but swaps b_method and b_extra.  Need find_be32() :-)
 9271|    204|                        for (unsigned k = 0; k < N_PEEK; k += sizeof(int)) {
  ------------------
  |  Branch (9271:46): [True: 192, False: 12]
  ------------------
 9272|    192|                            set_le32(&peek_arr[k], get_be32(&peek_arr[k]));
 9273|    192|                        }
 9274|     12|                    }
 9275|     46|                    int boff = find_le32(peek_arr, sizeof(peek_arr), size);
 9276|     46|                    if (boff < 0 || sizeof(peek_arr) < (sizeof(*bp) + boff)) {
  ------------------
  |  Branch (9276:25): [True: 13, False: 33]
  |  Branch (9276:37): [True: 1, False: 32]
  ------------------
 9277|     13|                        throwCantUnpack("b_info corrupted");
 9278|     13|                    }
 9279|     33|                    bp = (b_info *)(void *)&peek_arr[boff];
 9280|       |
 9281|     33|                    sz_unc = get_le32(&bp->sz_unc);
 9282|     33|                    sz_cpr = get_le32(&bp->sz_cpr);
 9283|     33|                    word3  = get_le32(&bp->b_method);
 9284|     33|                    ftid = bp->b_ftid;
 9285|     33|                    cto8 = bp->b_cto8;
 9286|     33|                    if (0 <= boff  // found
  ------------------
  |  Branch (9286:25): [True: 32, False: 1]
  ------------------
 9287|     32|                    && ( ((sz_cpr == sz_unc) && (0 == word3) && (size == sz_unc)) // incompressible literal
  ------------------
  |  Branch (9287:27): [True: 6, False: 26]
  |  Branch (9287:49): [True: 5, False: 1]
  |  Branch (9287:65): [True: 5, False: 0]
  ------------------
 9288|     27|                      || ((sz_cpr <  sz_unc) && (0 == ftid) && (0 == cto8)
  ------------------
  |  Branch (9288:27): [True: 21, False: 6]
  |  Branch (9288:49): [True: 20, False: 1]
  |  Branch (9288:64): [True: 18, False: 2]
  ------------------
 9289|     18|                          && ((is_be ? bp->b_extra : bp->b_method) == prev_method)) )
  ------------------
  |  Branch (9289:30): [True: 14, False: 4]
  |  Branch (9289:32): [True: 6, False: 12]
  ------------------
 9290|     33|                    ) {
 9291|     19|                        pos -= H_PEEK;
 9292|     19|                        pos += boff;
 9293|     19|                        infoWarning("... recovery at %#zx", (size_t)pos);
 9294|     19|                        fi->seek(pos, SEEK_SET);
 9295|     19|                    }
 9296|     33|                    opt->info_mode--;
 9297|     33|                }
 9298|     70|            }
 9299|     57|            unpackExtent(size, fo,
 9300|     57|                c_adler, u_adler, false,
 9301|     57|                (hi_offset != get_te32(&phdr[j].p_offset)));
 9302|     57|        }
 9303|    916|    }
 9304|       |
 9305|       |    // check for end-of-file
 9306|  1.83k|    fi->readx(&bhdr, szb_info);
 9307|  1.83k|    ph.set_method(bhdr.b_method, ~0u);
 9308|  1.83k|    unsigned const sz_unc = ph.u_len = get_te32(&bhdr.sz_unc);
 9309|       |
 9310|  1.83k|    if (sz_unc == 0) { // uncompressed size 0 -> EOF
  ------------------
  |  Branch (9310:9): [True: 26, False: 1.81k]
  ------------------
 9311|       |        // note: magic is always stored le32
 9312|     26|        unsigned const sz_cpr = get_le32(&bhdr.sz_cpr);
 9313|     26|        if (sz_cpr != UPX_MAGIC_LE32)  // sz_cpr must be h->magic
  ------------------
  |  |  534|     26|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (9313:13): [True: 2, False: 24]
  ------------------
 9314|      2|            throwCompressedDataViolation();
 9315|     26|    }
 9316|  1.81k|    else { // extra bytes after end?
 9317|  1.81k|        throwCompressedDataViolation();
 9318|  1.81k|    }
 9319|       |
 9320|     24|    if (is_shlib) {
  ------------------
  |  Branch (9320:9): [True: 13, False: 11]
  ------------------
 9321|     13|        un_DT_INIT(old_dtinit, (Elf32_Phdr *)(1+ (Elf32_Ehdr *)(void *)o_elfhdrs), dynhdr, fo);
 9322|     13|    }
 9323|       |
 9324|       |    // update header with totals
 9325|     24|    ph.c_len = total_in;
 9326|     24|    ph.u_len = total_out;
 9327|       |
 9328|       |    // all bytes must be written
 9329|     24|    if (fo && total_out != orig_file_size)
  ------------------
  |  Branch (9329:9): [True: 11, False: 13]
  |  Branch (9329:15): [True: 1, False: 10]
  ------------------
 9330|      1|        throwEOFException();
 9331|       |
 9332|       |    // finally test the checksums
 9333|     23|    if (ph.c_adler != c_adler || ph.u_adler != u_adler)
  ------------------
  |  Branch (9333:9): [True: 14, False: 9]
  |  Branch (9333:34): [True: 0, False: 9]
  ------------------
 9334|      1|        throwChecksumError();
 9335|     23|}
p_lx_elf.cpp:_ZL16alloc_file_imageR9MemBufferx:
  142|  14.4k|{
  143|  14.4k|    assert(mem_size_valid_bytes(size));
  ------------------
  |  |  493|  14.4k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  144|  14.4k|    if (mb.getVoidPtr() == nullptr) {
  ------------------
  |  Branch (144:9): [True: 13.9k, False: 488]
  ------------------
  145|  13.9k|        mb.alloc(size);
  146|  13.9k|    } else {
  147|    488|        assert((u32_t)size <= mb.getSize());
  ------------------
  |  |  493|    488|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|    976|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 488, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  148|    488|    }
  149|  14.4k|}
p_lx_elf.cpp:_ZL3up4j:
   80|    685|{
   81|    685|    return ~3u & (3+ x);
   82|    685|}
p_lx_elf.cpp:_ZL7is_pow2y:
  453|  10.0k|{
  454|  10.0k|    return !((-1+ x) & x);
  455|  10.0k|}
p_lx_elf.cpp:_ZL13qcmp_unsignedPKvS0_:
 2336|  8.44k|{
 2337|  8.44k|    unsigned a = *(unsigned const *)aa;
 2338|  8.44k|    unsigned b = *(unsigned const *)bb;
 2339|  8.44k|    if (a < b) return -1;
  ------------------
  |  Branch (2339:9): [True: 6.10k, False: 2.34k]
  ------------------
 2340|  2.34k|    if (a > b) return  1;
  ------------------
  |  Branch (2340:9): [True: 2.23k, False: 105]
  ------------------
 2341|    105|    return  0;
 2342|  2.34k|}
p_lx_elf.cpp:_ZL7funpad4P9InputFile:
  134|    218|{
  135|    218|    unsigned d = 3u & (0 - fi->tell());
  136|    218|    if (d)
  ------------------
  |  Branch (136:9): [True: 213, False: 5]
  ------------------
  137|    213|        fi->seek(d, SEEK_CUR);
  138|    218|    return d;
  139|    218|}

_ZN16PackLinuxElf32BeC2EP9InputFile:
  473|  24.1k|    PackLinuxElf32Be(InputFile *f) : super(f) {
  474|  24.1k|        bele = &N_BELE_RTP::be_policy;
  475|  24.1k|        PackLinuxElf32help1(f);
  476|  24.1k|    }
_ZN16PackLinuxElf64LeC2EP9InputFile:
  493|  34.3k|    PackLinuxElf64Le(InputFile *f) : super(f) {
  494|  34.3k|        lg2_page=16;
  495|  34.3k|        page_size=1u<<lg2_page;
  496|  34.3k|        bele = &N_BELE_RTP::le_policy;
  497|  34.3k|        PackLinuxElf64help1(f);
  498|  34.3k|    }
_ZN16PackLinuxElf64BeC2EP9InputFile:
  505|  7.35k|    PackLinuxElf64Be(InputFile *f) : super(f) {
  506|  7.35k|        lg2_page=16;
  507|  7.35k|        page_size=1u<<lg2_page;
  508|  7.35k|        bele = &N_BELE_RTP::be_policy;
  509|  7.35k|        PackLinuxElf64help1(f);
  510|  7.35k|    }
_ZN12PackLinuxElf9canUnpackEv:
   49|  8.46k|    virtual tribool canUnpack() override { return super::canUnpack(); } // bool, except -1: format known, but not packed
_ZN16PackLinuxElf32LeC2EP9InputFile:
  483|  67.3k|    PackLinuxElf32Le(InputFile *f) : super(f) {
  484|  67.3k|        bele = &N_BELE_RTP::le_policy;
  485|  67.3k|        PackLinuxElf32help1(f);
  486|  67.3k|    }
_ZNK12PackLinuxElf10getVersionEv:
   47|   138k|    virtual int getVersion() const override { return 14; } // upx-3.96 cannot unpack, for instance
_ZNK12PackLinuxElf16canUnpackVersionEi:
   48|  8.15k|    virtual bool canUnpackVersion(int version) const override { return (version >= 11); }
_ZNK17PackLinuxElf32ppc9getFormatEv:
  579|  8.38k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_PPC32; }
  ------------------
  |  |  601|  8.38k|#define UPX_F_LINUX_ELF32_PPC32 132
  ------------------
_ZNK17PackLinuxElf32ppc7getNameEv:
  580|      1|    virtual const char *getName() const override { return "linux/ppc32"; }
_ZNK19PackLinuxElf64ppcle9getFormatEv:
  599|  6.92k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_PPC64LE; }
  ------------------
  |  |  589|  6.92k|#define UPX_F_LINUX_ELF64_PPC64LE 39
  ------------------
_ZNK19PackLinuxElf64ppcle7getNameEv:
  600|      2|    virtual const char *getName() const override { return "linux/ppc64le"; }
_ZNK17PackLinuxElf64ppc9getFormatEv:
  618|  6.93k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_PPC64; }
  ------------------
  |  |  609|  6.93k|#define UPX_F_LINUX_ELF64_PPC64 140
  ------------------
_ZNK17PackLinuxElf64ppc7getNameEv:
  619|      1|    virtual const char *getName() const override { return "linux/ppc64"; }
_ZNK17PackLinuxElf64amd9getFormatEv:
  524|  11.7k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_AMD64; }
  ------------------
  |  |  572|  11.7k|#define UPX_F_LINUX_ELF64_AMD64   22
  ------------------
_ZNK17PackLinuxElf64amd7getNameEv:
  525|      6|    virtual const char *getName() const override { return "linux/amd64"; }
_ZNK17PackLinuxElf64arm9getFormatEv:
  541|  7.96k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_ARM64; }
  ------------------
  |  |  592|  7.96k|#define UPX_F_LINUX_ELF64_ARM64   42
  ------------------
_ZNK17PackLinuxElf64arm7getNameEv:
  542|      3|    virtual const char *getName() const override { return "linux/arm64"; }
_ZNK21PackLinuxElf64riscv649getFormatEv:
  558|  7.89k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF64_RISCV64; }
  ------------------
  |  |  595|  7.89k|#define UPX_F_LINUX_ELF64_RISCV64 45
  ------------------
_ZNK17PackLinuxElf32x869getFormatEv:
  641|  14.1k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF_i386; }
  ------------------
  |  |  562|  14.1k|#define UPX_F_LINUX_ELF_i386      12
  ------------------
_ZNK17PackLinuxElf32x867getNameEv:
  642|      2|    virtual const char *getName() const override { return "linux/i386"; }
_ZNK19PackFreeBSDElf32x869getFormatEv:
  678|  14.1k|    virtual int getFormat() const override { return UPX_F_BSD_ELF_i386; }
  ------------------
  |  |  575|  14.1k|#define UPX_F_BSD_ELF_i386        25
  ------------------
_ZNK18PackNetBSDElf32x869getFormatEv:
  689|  14.1k|    virtual int getFormat() const override { return UPX_F_BSD_ELF_i386; }
  ------------------
  |  |  575|  14.1k|#define UPX_F_BSD_ELF_i386        25
  ------------------
_ZNK19PackOpenBSDElf32x869getFormatEv:
  707|  14.1k|    virtual int getFormat() const override { return UPX_F_BSD_ELF_i386; }
  ------------------
  |  |  575|  14.1k|#define UPX_F_BSD_ELF_i386        25
  ------------------
_ZNK19PackLinuxElf32armLe9getFormatEv:
  731|  9.43k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_ARM; }
  ------------------
  |  |  573|  9.43k|#define UPX_F_LINUX_ELF32_ARM     23
  ------------------
_ZNK19PackLinuxElf32armLe7getNameEv:
  732|      1|    virtual const char *getName() const override { return "linux/arm"; }
_ZNK20PackLinuxElf32mipseb9getFormatEv:
  769|  6.91k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_MIPS; }
  ------------------
  |  |  606|  6.91k|#define UPX_F_LINUX_ELF32_MIPS  137
  ------------------
_ZNK20PackLinuxElf32mipseb7getNameEv:
  770|      1|    virtual const char *getName() const override { return "linux/mips"; }
_ZNK20PackLinuxElf32mipsel9getFormatEv:
  787|  6.91k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_MIPSEL; }
  ------------------
  |  |  580|  6.91k|#define UPX_F_LINUX_ELF32_MIPSEL  30
  ------------------
_ZNK20PackLinuxElf32mipsel7getNameEv:
  788|      2|    virtual const char *getName() const override { return "linux/mipsel"; }
_ZNK19PackLinuxElf32armBe9getFormatEv:
  750|  8.94k|    virtual int getFormat() const override { return UPX_F_LINUX_ELF32_ARMEB; }
  ------------------
  |  |  602|  8.94k|#define UPX_F_LINUX_ELF32_ARMEB 133
  ------------------
_ZNK19PackLinuxElf32armBe7getNameEv:
  751|      2|    virtual const char *getName() const override { return "linux/armeb"; }

_ZN13PackLinuxI386C2EP9InputFile:
   59|  20.1k|PackLinuxI386::PackLinuxI386(InputFile *f) : super(f),
   60|  20.1k|    ei_osabi(Elf32_Ehdr::ELFOSABI_LINUX), osabi_note(nullptr)
   61|  20.1k|{
   62|  20.1k|    bele = &N_BELE_RTP::le_policy;
   63|  20.1k|}
_ZN11PackBSDI386C2EP9InputFile:
   65|  6.71k|PackBSDI386::PackBSDI386(InputFile *f) : super(f)
   66|  6.71k|{
   67|       |    // Shell scripts need help specifying the target operating system.
   68|       |    // Elf input will override this with .e_ident[EI_OSABI] or PT_NOTE.
   69|       |    // [2006-09-27: Today's only runtime stub for shell is for linux.]
   70|  6.71k|    if (Elf32_Ehdr::ELFOSABI_LINUX==opt->o_unix.osabi0) {
  ------------------
  |  Branch (70:9): [True: 6.71k, False: 0]
  ------------------
   71|       |        // Disallow an incompatibility.
   72|  6.71k|        ei_osabi = Elf32_Ehdr::ELFOSABI_NONE;
   73|  6.71k|    }
   74|      0|    else {
   75|      0|        ei_osabi = opt->o_unix.osabi0;  // might be ELFOSABI_NONE
   76|      0|    }
   77|  6.71k|}

_ZNK13PackLinuxI3869getFormatEv:
   51|  8.83k|    virtual int getFormat() const override { return UPX_F_LINUX_i386; }
  ------------------
  |  |  560|  8.83k|#define UPX_F_LINUX_i386          10
  ------------------
_ZNK13PackLinuxI3867getNameEv:
   52|     11|    virtual const char *getName() const override { return "linux.exec/i386"; }
_ZNK11PackBSDI3869getFormatEv:
  138|  8.98k|    virtual int getFormat() const override { return UPX_F_BSD_i386; }
  ------------------
  |  |  574|  8.98k|#define UPX_F_BSD_i386            24
  ------------------

_ZN15PackLinuxI386shC2EP9InputFile:
   57|  6.88k|    super(f), o_shname(0), l_shname(0)
   58|  6.88k|{
   59|  6.88k|}
_ZN15PackLinuxI386shD2Ev:
   62|  6.88k|{
   63|  6.88k|}

_ZNK15PackLinuxI386sh10getVersionEv:
   48|  9.23k|    virtual int getVersion() const override { return 13; }
_ZNK15PackLinuxI386sh9getFormatEv:
   49|  9.21k|    virtual int getFormat() const override { return UPX_F_LINUX_SH_i386; }
  ------------------
  |  |  564|  9.21k|#define UPX_F_LINUX_SH_i386       14
  ------------------
_ZNK15PackLinuxI386sh16canUnpackVersionEi:
   61|  2.34k|        { return (version >= 11); }

_ZN13PackDylibI386C2EP9InputFile:
  238|     19|PackDylibI386::PackDylibI386(InputFile *f) : super(f)
  239|     19|{
  240|     19|    my_filetype = Mach_header::MH_DYLIB;
  241|     19|}
_ZN14PackDylibAMD64C2EP9InputFile:
  243|  5.34k|PackDylibAMD64::PackDylibAMD64(InputFile *f) : super(f)
  244|  5.34k|{
  245|  5.34k|    my_filetype = Mach_header::MH_DYLIB;
  246|  5.34k|}
_ZN14PackDylibPPC32C2EP9InputFile:
  248|      9|PackDylibPPC32::PackDylibPPC32(InputFile *f) : super(f)
  249|      9|{
  250|      9|    my_filetype = Mach_header::MH_DYLIB;
  251|      9|}
_ZN14PackDylibPPC64C2EP9InputFile:
  252|      2|PackDylibPPC64::PackDylibPPC64(InputFile *f) : super(f)
  253|      2|{
  254|      2|    my_filetype = Mach_header::MH_DYLIB;
  255|      2|}
_ZN13PackMachPPC32C2EP9InputFile:
  270|  5.31k|PackMachPPC32::PackMachPPC32(InputFile *f) : super(f, Mach_header::CPU_TYPE_POWERPC,
  271|  5.31k|        Mach_header::MH_EXECUTE, Mach_thread_command::PPC_THREAD_STATE,
  272|  5.31k|        sizeof(Mach_ppc_thread_state)>>2, sizeof(threado), 12)
  273|  5.31k|{ }
_ZN13PackMachPPC64C2EP9InputFile:
  275|      6|PackMachPPC64::PackMachPPC64(InputFile *f) : super(f, Mach_header::CPU_TYPE_POWERPC64,
  276|      6|        Mach_header::MH_EXECUTE, Mach_thread_command::PPC_THREAD_STATE64,
  277|      6|        sizeof(Mach_ppc_thread_state64)>>2, sizeof(threado), 16)
  278|      6|{ }
_ZN12PackMachI386C2EP9InputFile:
  292|  4.67k|PackMachI386::PackMachI386(InputFile *f) : super(f, Mach_header::CPU_TYPE_I386,
  293|  4.67k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::x86_THREAD_STATE32,
  294|  4.67k|        sizeof(Mach_i386_thread_state)>>2, sizeof(threado), 12)
  295|  4.67k|{ }
_ZN13PackMachAMD64C2EP9InputFile:
  303|  9.92k|PackMachAMD64::PackMachAMD64(InputFile *f) : super(f, Mach_header::CPU_TYPE_X86_64,
  304|  9.92k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::x86_THREAD_STATE64,
  305|  9.92k|        sizeof(Mach_AMD64_thread_state)>>2, sizeof(threado), 12)
  306|  9.92k|{ }
_ZN13PackMachARMELC2EP9InputFile:
  314|  4.08k|PackMachARMEL::PackMachARMEL(InputFile *f) : super(f, Mach_header::CPU_TYPE_ARM,
  315|  4.08k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::ARM_THREAD_STATE,
  316|  4.08k|        sizeof(Mach_ARM_thread_state)>>2, sizeof(threado), 12)
  317|  4.08k|{ }
_ZN15PackMachARM64ELC2EP9InputFile:
  319|  3.55k|PackMachARM64EL::PackMachARM64EL(InputFile *f) : super(f, Mach_header::CPU_TYPE_ARM64,
  320|  3.55k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::ARM_THREAD_STATE64,
  321|  3.55k|        sizeof(Mach_ARM64_thread_state)>>2, sizeof(threado), 14)
  322|  3.55k|{ }
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEEC2EP9InputFilejjjjjj:
  219|  5.31k|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|  5.31k|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|  5.31k|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|  5.31k|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|  5.31k|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|  5.31k|{
  225|  5.31k|    MachClass::compileTimeAssertions();
  226|  5.31k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|  5.31k|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|  5.31k|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|  5.31k|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|  5.31k|    memset(&linkitem, 0, sizeof(linkitem));
  231|  5.31k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEED2Ev:
  235|  5.31k|{
  236|  5.31k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEE6unpackEP10OutputFile:
 1474|    126|{
 1475|    126|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1476|    126|    fi->seek(0, SEEK_SET);
 1477|    126|    fi->readx(&mhdri, sizeof(mhdri));
 1478|    126|    if ((MH_MAGIC + (sizeof(Addr)>>3)) != mhdri.magic
  ------------------
  |  Branch (1478:9): [True: 0, False: 126]
  ------------------
 1479|      0|    &&  Mach_fat_header::FAT_MAGIC != mhdri.magic) {
  ------------------
  |  Branch (1479:9): [True: 0, False: 0]
  ------------------
 1480|      0|        throwCantUnpack("file header corrupted");
 1481|      0|    }
 1482|    126|    unsigned const sz_cmds = mhdri.sizeofcmds;
 1483|    126|    if ((sizeof(mhdri) + sz_cmds) > (size_t)fi->st_size()) {
  ------------------
  |  Branch (1483:9): [True: 0, False: 126]
  ------------------
 1484|      0|        throwCantUnpack("file header corrupted");
 1485|      0|    }
 1486|    126|    rawmseg_buf.dealloc();  // discard "same" contents from ::canUnpack()
 1487|    126|    rawmseg_buf.alloc(sz_cmds);
 1488|    126|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1489|    126|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1490|       |
 1491|       |    // FIXME forgot space left for LC_CODE_SIGNATURE;
 1492|       |    // but canUnpack() sets overlay_offset anyway.
 1493|       |    //overlay_offset = sizeof(mhdri) + mhdri.sizeofcmds + sizeof(linfo);
 1494|       |
 1495|    126|    fi->seek(overlay_offset, SEEK_SET);
 1496|    126|    p_info hbuf;
 1497|    126|    fi->readx(&hbuf, sizeof(hbuf));
 1498|    126|    unsigned const orig_file_size = get_te32(&hbuf.p_filesize);
 1499|    126|    blocksize = get_te32(&hbuf.p_blocksize);  // emacs-21.2.1 was 0x01d47e6c (== 30703212)
 1500|    126|    if (blocksize > orig_file_size || blocksize > UPX_RSIZE_MAX_MEM)
  ------------------
  |  |  170|    110|#define UPX_RSIZE_MAX_MEM (768 * 1024 * 1024) // DO NOT CHANGE !!!
  ------------------
  |  Branch (1500:9): [True: 16, False: 110]
  |  Branch (1500:39): [True: 11, False: 99]
  ------------------
 1501|     27|        throwCantUnpack("file header corrupted");
 1502|     99|    if (file_size > (off_t)orig_file_size) {
  ------------------
  |  Branch (1502:9): [True: 27, False: 72]
  ------------------
 1503|     27|        opt->info_mode += !opt->info_mode ? 1 : 0;  // make visible
  ------------------
  |  Branch (1503:27): [True: 27, False: 0]
  ------------------
 1504|     27|        opt->backup = 1;
 1505|     27|        infoWarning("packed size too big; discarding appended data, keeping backup");
 1506|     27|    }
 1507|       |
 1508|     99|    ibuf.alloc(blocksize + OVERHEAD);
 1509|     99|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 1510|     99|    fi->readx(&bhdr, sizeof(bhdr));
 1511|     99|    ph.u_len = get_te32(&bhdr.sz_unc);
 1512|     99|    ph.c_len = get_te32(&bhdr.sz_cpr);
 1513|     99|    if ((unsigned)file_size < ph.c_len || ph.c_len == 0 || ph.u_len == 0)
  ------------------
  |  Branch (1513:9): [True: 49, False: 50]
  |  Branch (1513:43): [True: 29, False: 21]
  |  Branch (1513:60): [True: 3, False: 18]
  ------------------
 1514|     81|        throwCantUnpack("file header corrupted");
 1515|     18|    ph.method = bhdr.b_method;
 1516|     18|    if (ph.method < M_NRV2B_LE32
  ------------------
  |  |  614|     36|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (1516:9): [True: 7, False: 11]
  ------------------
 1517|     11|    ||  ph.method > M_BZIP2)
  ------------------
  |  |  629|     11|#define M_BZIP2       17 // NOT YET USED
  ------------------
  |  Branch (1517:9): [True: 4, False: 7]
  ------------------
 1518|     11|        throwCantUnpack("file header bad method");
 1519|      7|    ph.filter = bhdr.b_ftid;
 1520|      7|    ph.filter_cto = bhdr.b_cto8;
 1521|       |
 1522|       |    // Uncompress Macho headers
 1523|      7|    fi->readx(ibuf, ph.c_len);
 1524|      7|    MemBuffer mhdr_buf(ph.u_len);
 1525|      7|    Mach_header *const mhdr = (Mach_header *)mhdr_buf.getVoidPtr();
 1526|      7|    decompress(ibuf, (upx_byte *)mhdr, false);
 1527|      7|    if (mhdri.magic      != mhdr->magic
  ------------------
  |  Branch (1527:9): [True: 7, False: 0]
  ------------------
 1528|      0|    ||  mhdri.cputype    != mhdr->cputype
  ------------------
  |  Branch (1528:9): [True: 0, False: 0]
  ------------------
 1529|      0|    ||  mhdri.cpusubtype != mhdr->cpusubtype
  ------------------
  |  Branch (1529:9): [True: 0, False: 0]
  ------------------
 1530|      0|    ||  mhdri.filetype   != mhdr->filetype)
  ------------------
  |  Branch (1530:9): [True: 0, False: 0]
  ------------------
 1531|      1|        throwCantUnpack("file header corrupted");
 1532|      6|    unsigned const ncmds = mhdr->ncmds;
 1533|      6|    if (!ncmds || MAX_N_CMDS < ncmds) { // arbitrary limit
  ------------------
  |  | 1470|      0|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1533:9): [True: 6, False: 0]
  |  Branch (1533:19): [True: 0, False: 0]
  ------------------
 1534|      0|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1535|      0|            "bad Mach_header.ncmds = %d", ncmds);
 1536|      0|        throwCantUnpack(msg);
 1537|      0|    }
 1538|       |
 1539|      6|    msegcmd_buf.alloc(sizeof(Mach_segment_command) * ncmds);
 1540|      6|    msegcmd = (Mach_segment_command *)msegcmd_buf.getVoidPtr();
 1541|      6|    unsigned char const *ptr = (unsigned char const *)(1+mhdr);
 1542|      6|    unsigned headway = mhdr_buf.getSize() - sizeof(*mhdr);
 1543|      6|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1543:25): [True: 0, False: 6]
  ------------------
 1544|      0|        unsigned cmdsize = ((Mach_command const *)ptr)->cmdsize;
 1545|      0|        if (is_bad_linker_command( ((Mach_command const *)ptr)->cmd, cmdsize,
  ------------------
  |  Branch (1545:13): [True: 0, False: 0]
  ------------------
 1546|      0|                headway, lc_seg, sizeof(Addr))) {
 1547|      0|            char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1548|      0|                "bad packed Mach load_command @%#x", ptr_udiff_bytes(ptr, mhdr));
 1549|      0|            throwCantUnpack(msg);
 1550|      0|        }
 1551|      0|        memcpy(&msegcmd[j], ptr, upx::umin(usizeof(Mach_segment_command), cmdsize));
  ------------------
  |  |  509|      0|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
 1552|      0|        headway -= cmdsize;
 1553|      0|        ptr     += cmdsize;
 1554|      0|    }
 1555|       |
 1556|       |    // Put LC_SEGMENT together at the beginning
 1557|      6|    upx_qsort(msegcmd, ncmds, sizeof(*msegcmd), compare_segment_command);
  ------------------
  |  |  220|      6|#define upx_qsort ::qsort
  ------------------
 1558|      6|    n_segment = 0;
 1559|      6|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1559:25): [True: 0, False: 6]
  ------------------
 1560|      0|        n_segment += (lc_seg==msegcmd[j].cmd);
 1561|      0|    }
 1562|       |
 1563|      6|    total_in = 0;
 1564|      6|    total_out = 0;
 1565|      6|    unsigned c_adler = upx_adler32(nullptr, 0);
 1566|      6|    unsigned u_adler = upx_adler32(nullptr, 0);
 1567|       |
 1568|      6|    fi->seek(- (off_t)(sizeof(bhdr) + ph.c_len), SEEK_CUR);
 1569|      6|    for (unsigned k = 0; k < ncmds; ++k) {
  ------------------
  |  Branch (1569:26): [True: 0, False: 6]
  ------------------
 1570|      0|        if (msegcmd[k].cmd==lc_seg && msegcmd[k].filesize!=0) {
  ------------------
  |  Branch (1570:13): [True: 0, False: 0]
  |  Branch (1570:39): [True: 0, False: 0]
  ------------------
 1571|      0|            if (!strcmp("__TEXT", msegcmd[k].segname)) {
  ------------------
  |  Branch (1571:17): [True: 0, False: 0]
  ------------------
 1572|      0|                segTEXT = msegcmd[k];
 1573|      0|            }
 1574|      0|            if (fo)
  ------------------
  |  Branch (1574:17): [True: 0, False: 0]
  ------------------
 1575|      0|                fo->seek(msegcmd[k].fileoff, SEEK_SET);
 1576|      0|            unpackExtent(msegcmd[k].filesize, fo,
 1577|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1578|      0|            if (my_filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (1578:17): [True: 0, False: 0]
  ------------------
 1579|      0|                break;  // only the first lc_seg when MH_DYLIB
 1580|      0|            }
 1581|      0|        }
 1582|      0|    }
 1583|      6|    Mach_segment_command const *sc = (Mach_segment_command const *)(void *)(1+ mhdr);
 1584|      6|    if (my_filetype==Mach_header::MH_DYLIB) { // rest of lc_seg are not compressed
  ------------------
  |  Branch (1584:9): [True: 0, False: 6]
  ------------------
 1585|      0|        upx_uint64_t cpr_mod_init_func(0);
 1586|      0|                TE32 unc_mod_init_func; *(int *)&unc_mod_init_func = 0;
 1587|      0|        Mach_segment_command const *rc = rawmseg;
 1588|      0|        rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc);
 1589|      0|        sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc);
 1590|      0|        for (
 1591|      0|            unsigned k=1;  // skip first lc_seg, which was uncompressed above
 1592|      0|            k < ncmds;
  ------------------
  |  Branch (1592:13): [True: 0, False: 0]
  ------------------
 1593|      0|            (++k), (sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc)),
 1594|      0|                   (rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc))
 1595|      0|        ) {
 1596|      0|            if (lc_seg==rc->cmd
  ------------------
  |  Branch (1596:17): [True: 0, False: 0]
  ------------------
 1597|      0|            &&  0!=rc->filesize ) {
  ------------------
  |  Branch (1597:17): [True: 0, False: 0]
  ------------------
 1598|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1598:21): [True: 0, False: 0]
  ------------------
 1599|      0|                    cpr_mod_init_func = get_mod_init_func(rc);
 1600|      0|                    fi->seek(cpr_mod_init_func - 4*sizeof(TE32), SEEK_SET);
 1601|      0|                    fi->readx(&unc_mod_init_func, sizeof(unc_mod_init_func));
 1602|      0|                }
 1603|      0|                fi->seek(rc->fileoff, SEEK_SET);
 1604|      0|                if (fo)
  ------------------
  |  Branch (1604:21): [True: 0, False: 0]
  ------------------
 1605|      0|                    fo->seek(sc->fileoff, SEEK_SET);
 1606|      0|                unsigned const len = rc->filesize;
 1607|      0|                MemBuffer data(len);
 1608|      0|                fi->readx(data, len);
 1609|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1609:21): [True: 0, False: 0]
  ------------------
 1610|      0|                    set_te32(&data[o__mod_init_func - rc->fileoff], unc_mod_init_func);
 1611|      0|                }
 1612|      0|                if (fo)
  ------------------
  |  Branch (1612:21): [True: 0, False: 0]
  ------------------
 1613|      0|                    fo->write(data, len);
 1614|      0|            }
 1615|      0|        }
 1616|      0|    }
 1617|      6|    else
 1618|      6|    for (unsigned j = 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1618:26): [True: 0, False: 6]
  ------------------
 1619|      0|        unsigned const size = find_SEGMENT_gap(j, orig_file_size);
 1620|      0|        if (size) {
  ------------------
  |  Branch (1620:13): [True: 0, False: 0]
  ------------------
 1621|      0|            unsigned const where = msegcmd[j].fileoff +msegcmd[j].filesize;
 1622|      0|            if (fo)
  ------------------
  |  Branch (1622:17): [True: 0, False: 0]
  ------------------
 1623|      0|                fo->seek(where, SEEK_SET);
 1624|      0|            unpackExtent(size, fo,
 1625|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1626|      0|        }
 1627|      0|    }
 1628|      6|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEE9canUnpackEv:
 1633|  5.31k|{
 1634|  5.31k|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1635|  5.31k|    fi->seek(0, SEEK_SET);
 1636|  5.31k|    fi->readx(&mhdri, sizeof(mhdri));
 1637|       |
 1638|  5.31k|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1638:9): [True: 4.44k, False: 870]
  ------------------
 1639|    870|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1639:9): [True: 42, False: 828]
  ------------------
 1640|    828|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1640:9): [True: 12, False: 816]
  ------------------
 1641|  5.31k|    )
 1642|  4.50k|        return false;
 1643|    816|    my_cpusubtype = mhdri.cpusubtype;
 1644|       |
 1645|    816|    unsigned const ncmds = mhdri.ncmds;
 1646|    816|    int headway = (int)mhdri.sizeofcmds;
 1647|    816|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1470|    815|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1647:9): [True: 1, False: 815]
  |  Branch (1647:19): [True: 34, False: 781]
  |  Branch (1647:41): [True: 18, False: 763]
  ------------------
 1648|    763|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1648:10): [True: 36, False: 727]
  ------------------
 1649|     89|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     89|#define snprintf  upx_safe_snprintf
  ------------------
 1650|     89|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1651|     89|        throwCantUnpack(msg);
 1652|     89|    }
 1653|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1654|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1655|    727|    if ((2 == ncmds
  ------------------
  |  Branch (1655:10): [True: 6, False: 721]
  ------------------
 1656|      6|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1656:12): [True: 1, False: 5]
  ------------------
 1657|    726|    ||  (3 <= ncmds
  ------------------
  |  Branch (1657:10): [True: 561, False: 165]
  ------------------
 1658|    561|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1658:12): [True: 1, False: 560]
  ------------------
 1659|    561|                    + sizeof(Mach_main_command)))) {
 1660|      2|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1661|      2|        throwCantUnpack("file corrupted");
 1662|      2|    }
 1663|    725|    sz_mach_headers = headway + sizeof(mhdri);
 1664|    725|    if (2048 < headway) {
  ------------------
  |  Branch (1664:9): [True: 8, False: 717]
  ------------------
 1665|      8|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1666|      8|    }
 1667|    725|    if (!headway) {
  ------------------
  |  Branch (1667:9): [True: 0, False: 725]
  ------------------
 1668|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1669|      0|    }
 1670|    725|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1671|    725|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1672|    725|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1673|       |
 1674|    725|    Mach_segment_command const *ptrTEXT = nullptr;
 1675|    725|    upx_uint64_t rip = 0;
 1676|    725|    unsigned style = 0;
 1677|    725|    off_t offLINK = 0;
  ------------------
  |  |  216|    725|#define off_t upx_off_t
  ------------------
 1678|    725|    unsigned pos_next = 0;
 1679|    725|    unsigned nseg = 0;
 1680|    725|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1681|  3.15k|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1681:25): [True: 2.69k, False: 466]
  ------------------
 1682|  2.69k|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1683|  2.69k|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1683:13): [True: 6, False: 2.68k]
  ------------------
 1684|      6|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|      6|#define snprintf  upx_safe_snprintf
  ------------------
 1685|      6|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1686|      6|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1687|      6|            throwCantPack(buf);
 1688|      6|        }
 1689|  2.68k|        unsigned const cmd = ptr->cmd;
 1690|  2.68k|        unsigned const cmdsize = ptr->cmdsize;
 1691|  2.68k|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1691:13): [True: 227, False: 2.45k]
  ------------------
 1692|    227|                opt->info_mode += 1;
 1693|    227|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1694|    227|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1695|    227|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1696|    227|                opt->info_mode -= 1;
 1697|    227|                throwCantUnpack("file corrupted");
 1698|    227|        }
 1699|  2.45k|        headway -= cmdsize;
 1700|  2.45k|        if (headway < 0) {
  ------------------
  |  Branch (1700:13): [True: 0, False: 2.45k]
  ------------------
 1701|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1702|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1703|      0|                (unsigned)ptr->cmdsize);
 1704|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1705|      0|        }
 1706|  2.45k|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1706:13): [True: 1.39k, False: 1.06k]
  ------------------
 1707|  1.39k|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1708|  1.39k|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1708:17): [True: 21, False: 1.37k]
  ------------------
 1709|  1.37k|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1709:17): [True: 4, False: 1.37k]
  ------------------
 1710|  1.37k|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1710:17): [True: 1, False: 1.37k]
  ------------------
 1711|     26|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1712|     26|                      "  filesize=0x%lx  fileoff=0x%lx",
 1713|     26|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1714|     26|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1715|     26|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1716|     26|                throwCantUnpack("file corrupted");
 1717|     26|            }
 1718|  1.37k|            ++nseg;
 1719|  1.37k|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1719:17): [True: 17, False: 1.35k]
  ------------------
 1720|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1721|     17|                style = 391;  // UPX 3.91
 1722|     17|            }
 1723|  1.37k|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1723:17): [True: 104, False: 1.26k]
  ------------------
 1724|    104|                ptrTEXT = segptr;
 1725|    104|                style = 391;  // UPX 3.91
 1726|    104|            }
 1727|  1.37k|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1727:17): [True: 16, False: 1.35k]
  ------------------
 1728|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1729|     16|                style = 392;  // UPX 3.92
 1730|     16|            }
 1731|  1.37k|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1731:17): [True: 481, False: 889]
  ------------------
 1732|    481|                offLINK = segptr->fileoff;
 1733|    481|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1733:21): [True: 140, False: 341]
  ------------------
 1734|    140|                    style = 395;
 1735|    140|                }
 1736|    481|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1736:21): [True: 291, False: 190]
  ------------------
 1737|    291|                    offLINK = pos_next;
 1738|    291|                }
 1739|    481|            }
 1740|  1.37k|            pos_next = segptr->filesize + segptr->fileoff;
 1741|  1.37k|        }
 1742|  1.06k|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1742:18): [True: 292, False: 771]
  ------------------
 1743|    292|            rip = entryVMA = threadc_getPC(ptr);
 1744|    292|        }
 1745|  2.45k|    }
 1746|    466|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1746:9): [True: 302, False: 164]
  |  Branch (1746:20): [True: 301, False: 1]
  ------------------
 1747|    301|        style = 392;
 1748|    301|    }
 1749|    466|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1749:9): [True: 7, False: 459]
  |  Branch (1749:23): [True: 5, False: 2]
  |  Branch (1749:37): [True: 3, False: 2]
  |  Branch (1749:49): [True: 2, False: 1]
  ------------------
 1750|      2|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1751|      2|    }
 1752|    466|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1752:9): [True: 18, False: 448]
  |  Branch (1752:23): [True: 15, False: 433]
  ------------------
 1753|     31|        return false;
 1754|     31|    }
 1755|       |
 1756|    435|    int const small = 32 + sizeof(overlay_offset);
 1757|    435|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1758|    435|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1758:9): [True: 3, False: 432]
  ------------------
 1759|      3|        fi->seek(offLINK - bufsize, SEEK_SET);
 1760|      3|    } else
 1761|    432|    if (392 == style) {
  ------------------
  |  Branch (1761:9): [True: 291, False: 141]
  ------------------
 1762|    291|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1762:13): [True: 0, False: 291]
  ------------------
 1763|      0|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1764|      0|        }
 1765|    291|        else { // PackHeader follows loader at __LINKEDIT
 1766|    291|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1766:17): [True: 242, False: 49]
  ------------------
 1767|    242|                bufsize = fi->st_size() - offLINK;
 1768|    242|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1768:21): [True: 3, False: 239]
  ------------------
 1769|      3|                    throwCantUnpack("bad offLINK %p %p",
 1770|      3|                        (void *)offLINK, (void *)file_size);
 1771|      3|                }
 1772|    242|            }
 1773|    288|            fi->seek(offLINK, SEEK_SET);
 1774|    288|        }
 1775|    291|    } else
 1776|    141|    if (395 == style) {
  ------------------
  |  Branch (1776:9): [True: 139, False: 2]
  ------------------
 1777|    139|        fi->seek(offLINK - bufsize, SEEK_SET);
 1778|    139|    }
 1779|    432|    MemBuffer buf(bufsize);
 1780|    432|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1781|    432|    buf3.clear();
 1782|       |
 1783|    432|    fi->readx(buf, bufsize);
 1784|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1785|       |
 1786|    432|    int i = bufsize;
 1787|  7.25k|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1787:12): [True: 7.14k, False: 111]
  |  Branch (1787:25): [True: 6.82k, False: 321]
  ------------------
 1788|    432|    i -= small;
 1789|       |    // allow incompressible extents
 1790|    432|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1790:9): [True: 113, False: 319]
  |  Branch (1790:18): [True: 319, False: 0]
  ------------------
 1791|       |        // Breadcrumbs failed.
 1792|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1793|    426|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1793:38): [True: 72, False: 354]
  ------------------
 1794|    426|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1794:13): [True: 72, False: 354]
  |  Branch (1794:24): [True: 68, False: 4]
  |  Branch (1794:31): [True: 12, False: 56]
  ------------------
 1795|     12|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1796|     12|            fi->readx(buf3, bufsize);
 1797|     12|            unsigned char const *b = &buf3[0];
 1798|     12|            unsigned disp = *(TE32 const *)&b[1];
 1799|     12|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1799:17): [True: 0, False: 12]
  ------------------
 1800|      0|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1800:21): [True: 0, False: 0]
  |  Branch (1800:35): [True: 0, False: 0]
  ------------------
 1801|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1802|       |                    // searching for "executable_path=" etc.
 1803|      0|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1803:21): [True: 0, False: 0]
  |  Branch (1803:40): [True: 0, False: 0]
  ------------------
 1804|      0|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1805|      0|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1805:25): [True: 0, False: 0]
  |  Branch (1805:46): [True: 0, False: 0]
  ------------------
 1806|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1807|       |                        // This is the folded stub.
 1808|       |                        // FIXME: check b_method?
 1809|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000) {
  ------------------
  |  Branch (1809:29): [True: 0, False: 0]
  |  Branch (1809:60): [True: 0, False: 0]
  ------------------
 1810|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1811|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1812|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1813|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1813:33): [True: 0, False: 0]
  ------------------
 1814|      0|                                return true;  // success
 1815|      0|                            }
 1816|      0|                            overlay_offset = 0;  // failure
 1817|      0|                        }
 1818|      0|                    }
 1819|      0|                }
 1820|      0|            }
 1821|     12|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1821:17): [True: 0, False: 12]
  ------------------
 1822|      0|                infoWarning("file corrupted: %s", fi->getName());
 1823|      0|                fi->seek(file_size - bufsize, SEEK_SET);
 1824|      0|                fi->readx(buf3, bufsize);
 1825|      0|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1826|      0|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1826:24): [True: 0, False: 0]
  ------------------
 1827|      0|                    unsigned x = *p;
 1828|      0|                    if (x) {
  ------------------
  |  Branch (1828:25): [True: 0, False: 0]
  ------------------
 1829|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1829:29): [True: 0, False: 0]
  |  Branch (1829:40): [True: 0, False: 0]
  ------------------
 1830|      0|                            fi->seek(0, SEEK_SET);
 1831|      0|                            fi->readx(buf3, bufsize);
 1832|      0|                            p = (unsigned const *)&buf3[x];
 1833|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1833:33): [True: 0, False: 0]
  |  Branch (1833:46): [True: 0, False: 0]
  |  Branch (1833:59): [True: 0, False: 0]
  ------------------
 1834|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1834:33): [True: 0, False: 0]
  |  Branch (1834:59): [True: 0, False: 0]
  ------------------
 1835|      0|                            ) {
 1836|      0|                                overlay_offset = x;
 1837|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1838|      0|                                    overlay_offset);
 1839|      0|                                return true;
 1840|      0|                            }
 1841|      0|                        }
 1842|      0|                        break;
 1843|      0|                    }
 1844|      0|                }
 1845|      0|            }
 1846|     12|        }
 1847|    426|        if (391==style) {
  ------------------
  |  Branch (1847:13): [True: 1, False: 425]
  ------------------
 1848|      1|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1849|      1|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1849:20): [True: 0, False: 1]
  ------------------
 1850|      1|            overlay_offset = *uptr;
 1851|      1|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1851:17): [True: 0, False: 1]
  |  Branch (1851:55): [True: 0, False: 0]
  ------------------
 1852|      0|                return true;  // success
 1853|      0|            }
 1854|      1|            overlay_offset = 0;
 1855|      1|            return false;
 1856|      1|        }
 1857|    425|        if (392==style) {
  ------------------
  |  Branch (1857:13): [True: 276, False: 149]
  ------------------
 1858|    276|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1859|       |            // p_info isn't used for execution, so it has less value for checking:
 1860|       |            //      0== .p_progid
 1861|       |            //      .p_filesize == .p_blocksize
 1862|    276|            fi->seek(overlay_offset, SEEK_SET);
 1863|    276|            fi->readx(buf3, bufsize);
 1864|    276|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1865|    276|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1866|    276|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1867|    276|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1867:17): [True: 147, False: 129]
  ------------------
 1868|    147|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1868:17): [True: 24, False: 123]
  ------------------
 1869|     24|                unsigned const method = b_ptr->b_method;
 1870|     24|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  614|     24|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  620|     23|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1870:22): [True: 1, False: 23]
  |  Branch (1870:48): [True: 2, False: 21]
  ------------------
 1871|      3|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1871:21): [True: 1, False: 2]
  ------------------
 1872|      1|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1872:21): [True: 0, False: 1]
  ------------------
 1873|      0|                    return true;
 1874|      0|                }
 1875|     24|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1876|     24|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  615|     24|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  621|     21|#define M_NRV2E_8     9
  ------------------
  |  Branch (1876:22): [True: 3, False: 21]
  |  Branch (1876:45): [True: 1, False: 20]
  ------------------
 1877|      4|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1877:20): [True: 1, False: 3]
  ------------------
 1878|      1|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1878:21): [True: 0, False: 1]
  ------------------
 1879|      0|                    return true;
 1880|      0|                }
 1881|       |                // FIXME: M_LZMA
 1882|     24|            }
 1883|       |
 1884|    276|            overlay_offset = 0;
 1885|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1886|       |            // is the total length of compressed data which precedes it
 1887|       |            //(distance to l_info), so that's another method.
 1888|    276|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1889|    276|            fi->readx(buf3, 0x1000);
 1890|    276|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1891|    276|            unsigned const *p;
 1892|  16.9k|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1892:55): [True: 16.8k, False: 71]
  |  Branch (1892:69): [True: 3.33k, False: 13.5k]
  ------------------
 1893|  3.33k|                overlay_offset  = *(TE32 const *)p;
 1894|  3.33k|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1894:21): [True: 130, False: 3.20k]
  ------------------
 1895|    130|                    throwCantUnpack("file corrupted");
 1896|  3.20k|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1896:21): [True: 2.65k, False: 541]
  ------------------
 1897|  2.65k|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1898|  2.65k|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1899|  2.65k|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1899:25): [True: 21, False: 2.63k]
  ------------------
 1900|     21|                        throwCantUnpack("file corrupted");
 1901|  2.63k|                    fi->seek(overlay_offset, SEEK_SET);
 1902|  2.63k|                    fi->readx(buf3, bufsize);
 1903|  2.63k|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1903:25): [True: 1.05k, False: 1.58k]
  ------------------
 1904|  1.05k|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1904:25): [True: 54, False: 1.00k]
  ------------------
 1905|     54|                        return true;
 1906|     54|                    }
 1907|  2.63k|                }
 1908|  3.20k|            }
 1909|    276|        }
 1910|    425|    }
 1911|       |
 1912|    226|    overlay_offset = 0;  // impossible value
 1913|    226|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1914|    226|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1914:9): [True: 145, False: 81]
  |  Branch (1914:19): [True: 145, False: 0]
  ------------------
 1915|    145|        overlay_offset = get_te32(buf + i + l);
 1916|    145|    }
 1917|    226|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1917:16): [True: 95, False: 131]
  ------------------
 1918|    131|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1918:9): [True: 70, False: 61]
  ------------------
 1919|     84|        infoWarning("file corrupted: %s", fi->getName());
 1920|     84|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1921|     84|        fi->seek(sz_mach_headers, SEEK_SET);
 1922|     84|        fi->readx(buf2, buf2.getSize());
 1923|     84|        unsigned const *p = (unsigned const *)&buf2[0];
 1924|     84|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1925|   204k|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1925:16): [True: 204k, False: 73]
  ------------------
 1926|   204k|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1926:16): [True: 45.1k, False: 158k]
  ------------------
 1927|  45.1k|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1927:16): [True: 18.2k, False: 26.9k]
  ------------------
 1928|  18.2k|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1928:13): [True: 1.34k, False: 16.8k]
  ------------------
 1929|  1.34k|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1929:13): [True: 828, False: 517]
  ------------------
 1930|    828|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1930:13): [True: 30, False: 798]
  ------------------
 1931|   204k|        ) {
 1932|     30|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1933|     30|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1933:19): [True: 19, False: 11]
  ------------------
 1934|     11|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1934:31): [True: 0, False: 11]
  ------------------
 1935|     11|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1935:24): [True: 0, False: 11]
  ------------------
 1936|     11|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1937|     11|                return true;
 1938|     11|            }
 1939|     30|        }
 1940|     73|        throwCantUnpack("file corrupted");
 1941|     84|    }
 1942|    142|    return true;
 1943|    226|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjjjj:
  219|  8.75k|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|  8.75k|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|  8.75k|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|  8.75k|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|  8.75k|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|  8.75k|{
  225|  8.75k|    MachClass::compileTimeAssertions();
  226|  8.75k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|  8.75k|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|  8.75k|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|  8.75k|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|  8.75k|    memset(&linkitem, 0, sizeof(linkitem));
  231|  8.75k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEED2Ev:
  235|  8.75k|{
  236|  8.75k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEE6unpackEP10OutputFile:
 1474|    127|{
 1475|    127|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1476|    127|    fi->seek(0, SEEK_SET);
 1477|    127|    fi->readx(&mhdri, sizeof(mhdri));
 1478|    127|    if ((MH_MAGIC + (sizeof(Addr)>>3)) != mhdri.magic
  ------------------
  |  Branch (1478:9): [True: 0, False: 127]
  ------------------
 1479|      0|    &&  Mach_fat_header::FAT_MAGIC != mhdri.magic) {
  ------------------
  |  Branch (1479:9): [True: 0, False: 0]
  ------------------
 1480|      0|        throwCantUnpack("file header corrupted");
 1481|      0|    }
 1482|    127|    unsigned const sz_cmds = mhdri.sizeofcmds;
 1483|    127|    if ((sizeof(mhdri) + sz_cmds) > (size_t)fi->st_size()) {
  ------------------
  |  Branch (1483:9): [True: 0, False: 127]
  ------------------
 1484|      0|        throwCantUnpack("file header corrupted");
 1485|      0|    }
 1486|    127|    rawmseg_buf.dealloc();  // discard "same" contents from ::canUnpack()
 1487|    127|    rawmseg_buf.alloc(sz_cmds);
 1488|    127|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1489|    127|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1490|       |
 1491|       |    // FIXME forgot space left for LC_CODE_SIGNATURE;
 1492|       |    // but canUnpack() sets overlay_offset anyway.
 1493|       |    //overlay_offset = sizeof(mhdri) + mhdri.sizeofcmds + sizeof(linfo);
 1494|       |
 1495|    127|    fi->seek(overlay_offset, SEEK_SET);
 1496|    127|    p_info hbuf;
 1497|    127|    fi->readx(&hbuf, sizeof(hbuf));
 1498|    127|    unsigned const orig_file_size = get_te32(&hbuf.p_filesize);
 1499|    127|    blocksize = get_te32(&hbuf.p_blocksize);  // emacs-21.2.1 was 0x01d47e6c (== 30703212)
 1500|    127|    if (blocksize > orig_file_size || blocksize > UPX_RSIZE_MAX_MEM)
  ------------------
  |  |  170|     96|#define UPX_RSIZE_MAX_MEM (768 * 1024 * 1024) // DO NOT CHANGE !!!
  ------------------
  |  Branch (1500:9): [True: 31, False: 96]
  |  Branch (1500:39): [True: 15, False: 81]
  ------------------
 1501|     46|        throwCantUnpack("file header corrupted");
 1502|     81|    if (file_size > (off_t)orig_file_size) {
  ------------------
  |  Branch (1502:9): [True: 25, False: 56]
  ------------------
 1503|     25|        opt->info_mode += !opt->info_mode ? 1 : 0;  // make visible
  ------------------
  |  Branch (1503:27): [True: 25, False: 0]
  ------------------
 1504|     25|        opt->backup = 1;
 1505|     25|        infoWarning("packed size too big; discarding appended data, keeping backup");
 1506|     25|    }
 1507|       |
 1508|     81|    ibuf.alloc(blocksize + OVERHEAD);
 1509|     81|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 1510|     81|    fi->readx(&bhdr, sizeof(bhdr));
 1511|     81|    ph.u_len = get_te32(&bhdr.sz_unc);
 1512|     81|    ph.c_len = get_te32(&bhdr.sz_cpr);
 1513|     81|    if ((unsigned)file_size < ph.c_len || ph.c_len == 0 || ph.u_len == 0)
  ------------------
  |  Branch (1513:9): [True: 33, False: 48]
  |  Branch (1513:43): [True: 22, False: 26]
  |  Branch (1513:60): [True: 3, False: 23]
  ------------------
 1514|     58|        throwCantUnpack("file header corrupted");
 1515|     23|    ph.method = bhdr.b_method;
 1516|     23|    if (ph.method < M_NRV2B_LE32
  ------------------
  |  |  614|     46|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (1516:9): [True: 7, False: 16]
  ------------------
 1517|     16|    ||  ph.method > M_BZIP2)
  ------------------
  |  |  629|     16|#define M_BZIP2       17 // NOT YET USED
  ------------------
  |  Branch (1517:9): [True: 10, False: 6]
  ------------------
 1518|     17|        throwCantUnpack("file header bad method");
 1519|      6|    ph.filter = bhdr.b_ftid;
 1520|      6|    ph.filter_cto = bhdr.b_cto8;
 1521|       |
 1522|       |    // Uncompress Macho headers
 1523|      6|    fi->readx(ibuf, ph.c_len);
 1524|      6|    MemBuffer mhdr_buf(ph.u_len);
 1525|      6|    Mach_header *const mhdr = (Mach_header *)mhdr_buf.getVoidPtr();
 1526|      6|    decompress(ibuf, (upx_byte *)mhdr, false);
 1527|      6|    if (mhdri.magic      != mhdr->magic
  ------------------
  |  Branch (1527:9): [True: 6, False: 0]
  ------------------
 1528|      0|    ||  mhdri.cputype    != mhdr->cputype
  ------------------
  |  Branch (1528:9): [True: 0, False: 0]
  ------------------
 1529|      0|    ||  mhdri.cpusubtype != mhdr->cpusubtype
  ------------------
  |  Branch (1529:9): [True: 0, False: 0]
  ------------------
 1530|      0|    ||  mhdri.filetype   != mhdr->filetype)
  ------------------
  |  Branch (1530:9): [True: 0, False: 0]
  ------------------
 1531|      1|        throwCantUnpack("file header corrupted");
 1532|      5|    unsigned const ncmds = mhdr->ncmds;
 1533|      5|    if (!ncmds || MAX_N_CMDS < ncmds) { // arbitrary limit
  ------------------
  |  | 1470|      0|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1533:9): [True: 5, False: 0]
  |  Branch (1533:19): [True: 0, False: 0]
  ------------------
 1534|      0|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1535|      0|            "bad Mach_header.ncmds = %d", ncmds);
 1536|      0|        throwCantUnpack(msg);
 1537|      0|    }
 1538|       |
 1539|      5|    msegcmd_buf.alloc(sizeof(Mach_segment_command) * ncmds);
 1540|      5|    msegcmd = (Mach_segment_command *)msegcmd_buf.getVoidPtr();
 1541|      5|    unsigned char const *ptr = (unsigned char const *)(1+mhdr);
 1542|      5|    unsigned headway = mhdr_buf.getSize() - sizeof(*mhdr);
 1543|      5|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1543:25): [True: 0, False: 5]
  ------------------
 1544|      0|        unsigned cmdsize = ((Mach_command const *)ptr)->cmdsize;
 1545|      0|        if (is_bad_linker_command( ((Mach_command const *)ptr)->cmd, cmdsize,
  ------------------
  |  Branch (1545:13): [True: 0, False: 0]
  ------------------
 1546|      0|                headway, lc_seg, sizeof(Addr))) {
 1547|      0|            char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1548|      0|                "bad packed Mach load_command @%#x", ptr_udiff_bytes(ptr, mhdr));
 1549|      0|            throwCantUnpack(msg);
 1550|      0|        }
 1551|      0|        memcpy(&msegcmd[j], ptr, upx::umin(usizeof(Mach_segment_command), cmdsize));
  ------------------
  |  |  509|      0|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
 1552|      0|        headway -= cmdsize;
 1553|      0|        ptr     += cmdsize;
 1554|      0|    }
 1555|       |
 1556|       |    // Put LC_SEGMENT together at the beginning
 1557|      5|    upx_qsort(msegcmd, ncmds, sizeof(*msegcmd), compare_segment_command);
  ------------------
  |  |  220|      5|#define upx_qsort ::qsort
  ------------------
 1558|      5|    n_segment = 0;
 1559|      5|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1559:25): [True: 0, False: 5]
  ------------------
 1560|      0|        n_segment += (lc_seg==msegcmd[j].cmd);
 1561|      0|    }
 1562|       |
 1563|      5|    total_in = 0;
 1564|      5|    total_out = 0;
 1565|      5|    unsigned c_adler = upx_adler32(nullptr, 0);
 1566|      5|    unsigned u_adler = upx_adler32(nullptr, 0);
 1567|       |
 1568|      5|    fi->seek(- (off_t)(sizeof(bhdr) + ph.c_len), SEEK_CUR);
 1569|      5|    for (unsigned k = 0; k < ncmds; ++k) {
  ------------------
  |  Branch (1569:26): [True: 0, False: 5]
  ------------------
 1570|      0|        if (msegcmd[k].cmd==lc_seg && msegcmd[k].filesize!=0) {
  ------------------
  |  Branch (1570:13): [True: 0, False: 0]
  |  Branch (1570:39): [True: 0, False: 0]
  ------------------
 1571|      0|            if (!strcmp("__TEXT", msegcmd[k].segname)) {
  ------------------
  |  Branch (1571:17): [True: 0, False: 0]
  ------------------
 1572|      0|                segTEXT = msegcmd[k];
 1573|      0|            }
 1574|      0|            if (fo)
  ------------------
  |  Branch (1574:17): [True: 0, False: 0]
  ------------------
 1575|      0|                fo->seek(msegcmd[k].fileoff, SEEK_SET);
 1576|      0|            unpackExtent(msegcmd[k].filesize, fo,
 1577|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1578|      0|            if (my_filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (1578:17): [True: 0, False: 0]
  ------------------
 1579|      0|                break;  // only the first lc_seg when MH_DYLIB
 1580|      0|            }
 1581|      0|        }
 1582|      0|    }
 1583|      5|    Mach_segment_command const *sc = (Mach_segment_command const *)(void *)(1+ mhdr);
 1584|      5|    if (my_filetype==Mach_header::MH_DYLIB) { // rest of lc_seg are not compressed
  ------------------
  |  Branch (1584:9): [True: 0, False: 5]
  ------------------
 1585|      0|        upx_uint64_t cpr_mod_init_func(0);
 1586|      0|                TE32 unc_mod_init_func; *(int *)&unc_mod_init_func = 0;
 1587|      0|        Mach_segment_command const *rc = rawmseg;
 1588|      0|        rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc);
 1589|      0|        sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc);
 1590|      0|        for (
 1591|      0|            unsigned k=1;  // skip first lc_seg, which was uncompressed above
 1592|      0|            k < ncmds;
  ------------------
  |  Branch (1592:13): [True: 0, False: 0]
  ------------------
 1593|      0|            (++k), (sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc)),
 1594|      0|                   (rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc))
 1595|      0|        ) {
 1596|      0|            if (lc_seg==rc->cmd
  ------------------
  |  Branch (1596:17): [True: 0, False: 0]
  ------------------
 1597|      0|            &&  0!=rc->filesize ) {
  ------------------
  |  Branch (1597:17): [True: 0, False: 0]
  ------------------
 1598|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1598:21): [True: 0, False: 0]
  ------------------
 1599|      0|                    cpr_mod_init_func = get_mod_init_func(rc);
 1600|      0|                    fi->seek(cpr_mod_init_func - 4*sizeof(TE32), SEEK_SET);
 1601|      0|                    fi->readx(&unc_mod_init_func, sizeof(unc_mod_init_func));
 1602|      0|                }
 1603|      0|                fi->seek(rc->fileoff, SEEK_SET);
 1604|      0|                if (fo)
  ------------------
  |  Branch (1604:21): [True: 0, False: 0]
  ------------------
 1605|      0|                    fo->seek(sc->fileoff, SEEK_SET);
 1606|      0|                unsigned const len = rc->filesize;
 1607|      0|                MemBuffer data(len);
 1608|      0|                fi->readx(data, len);
 1609|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1609:21): [True: 0, False: 0]
  ------------------
 1610|      0|                    set_te32(&data[o__mod_init_func - rc->fileoff], unc_mod_init_func);
 1611|      0|                }
 1612|      0|                if (fo)
  ------------------
  |  Branch (1612:21): [True: 0, False: 0]
  ------------------
 1613|      0|                    fo->write(data, len);
 1614|      0|            }
 1615|      0|        }
 1616|      0|    }
 1617|      5|    else
 1618|      5|    for (unsigned j = 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1618:26): [True: 0, False: 5]
  ------------------
 1619|      0|        unsigned const size = find_SEGMENT_gap(j, orig_file_size);
 1620|      0|        if (size) {
  ------------------
  |  Branch (1620:13): [True: 0, False: 0]
  ------------------
 1621|      0|            unsigned const where = msegcmd[j].fileoff +msegcmd[j].filesize;
 1622|      0|            if (fo)
  ------------------
  |  Branch (1622:17): [True: 0, False: 0]
  ------------------
 1623|      0|                fo->seek(where, SEEK_SET);
 1624|      0|            unpackExtent(size, fo,
 1625|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1626|      0|        }
 1627|      0|    }
 1628|      5|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
 1633|  8.75k|{
 1634|  8.75k|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1635|  8.75k|    fi->seek(0, SEEK_SET);
 1636|  8.75k|    fi->readx(&mhdri, sizeof(mhdri));
 1637|       |
 1638|  8.75k|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1638:9): [True: 7.15k, False: 1.60k]
  ------------------
 1639|  1.60k|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1639:9): [True: 770, False: 832]
  ------------------
 1640|    832|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1640:9): [True: 34, False: 798]
  ------------------
 1641|  8.75k|    )
 1642|  7.96k|        return false;
 1643|    798|    my_cpusubtype = mhdri.cpusubtype;
 1644|       |
 1645|    798|    unsigned const ncmds = mhdri.ncmds;
 1646|    798|    int headway = (int)mhdri.sizeofcmds;
 1647|    798|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1470|    797|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1647:9): [True: 1, False: 797]
  |  Branch (1647:19): [True: 38, False: 759]
  |  Branch (1647:41): [True: 15, False: 744]
  ------------------
 1648|    744|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1648:10): [True: 40, False: 704]
  ------------------
 1649|     94|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     94|#define snprintf  upx_safe_snprintf
  ------------------
 1650|     94|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1651|     94|        throwCantUnpack(msg);
 1652|     94|    }
 1653|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1654|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1655|    704|    if ((2 == ncmds
  ------------------
  |  Branch (1655:10): [True: 34, False: 670]
  ------------------
 1656|     34|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1656:12): [True: 1, False: 33]
  ------------------
 1657|    703|    ||  (3 <= ncmds
  ------------------
  |  Branch (1657:10): [True: 636, False: 67]
  ------------------
 1658|    636|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1658:12): [True: 3, False: 633]
  ------------------
 1659|    636|                    + sizeof(Mach_main_command)))) {
 1660|      4|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1661|      4|        throwCantUnpack("file corrupted");
 1662|      4|    }
 1663|    700|    sz_mach_headers = headway + sizeof(mhdri);
 1664|    700|    if (2048 < headway) {
  ------------------
  |  Branch (1664:9): [True: 26, False: 674]
  ------------------
 1665|     26|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1666|     26|    }
 1667|    700|    if (!headway) {
  ------------------
  |  Branch (1667:9): [True: 0, False: 700]
  ------------------
 1668|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1669|      0|    }
 1670|    700|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1671|    700|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1672|    700|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1673|       |
 1674|    700|    Mach_segment_command const *ptrTEXT = nullptr;
 1675|    700|    upx_uint64_t rip = 0;
 1676|    700|    unsigned style = 0;
 1677|    700|    off_t offLINK = 0;
  ------------------
  |  |  216|    700|#define off_t upx_off_t
  ------------------
 1678|    700|    unsigned pos_next = 0;
 1679|    700|    unsigned nseg = 0;
 1680|    700|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1681|  3.45k|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1681:25): [True: 3.01k, False: 436]
  ------------------
 1682|  3.01k|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1683|  3.01k|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1683:13): [True: 1, False: 3.01k]
  ------------------
 1684|      1|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|      1|#define snprintf  upx_safe_snprintf
  ------------------
 1685|      1|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1686|      1|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1687|      1|            throwCantPack(buf);
 1688|      1|        }
 1689|  3.01k|        unsigned const cmd = ptr->cmd;
 1690|  3.01k|        unsigned const cmdsize = ptr->cmdsize;
 1691|  3.01k|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1691:13): [True: 227, False: 2.78k]
  ------------------
 1692|    227|                opt->info_mode += 1;
 1693|    227|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1694|    227|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1695|    227|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1696|    227|                opt->info_mode -= 1;
 1697|    227|                throwCantUnpack("file corrupted");
 1698|    227|        }
 1699|  2.78k|        headway -= cmdsize;
 1700|  2.78k|        if (headway < 0) {
  ------------------
  |  Branch (1700:13): [True: 0, False: 2.78k]
  ------------------
 1701|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1702|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1703|      0|                (unsigned)ptr->cmdsize);
 1704|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1705|      0|        }
 1706|  2.78k|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1706:13): [True: 1.47k, False: 1.31k]
  ------------------
 1707|  1.47k|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1708|  1.47k|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1708:17): [True: 9, False: 1.46k]
  ------------------
 1709|  1.46k|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1709:17): [True: 22, False: 1.44k]
  ------------------
 1710|  1.44k|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1710:17): [True: 5, False: 1.43k]
  ------------------
 1711|     36|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1712|     36|                      "  filesize=0x%lx  fileoff=0x%lx",
 1713|     36|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1714|     36|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1715|     36|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1716|     36|                throwCantUnpack("file corrupted");
 1717|     36|            }
 1718|  1.43k|            ++nseg;
 1719|  1.43k|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1719:17): [True: 21, False: 1.41k]
  ------------------
 1720|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1721|     21|                style = 391;  // UPX 3.91
 1722|     21|            }
 1723|  1.43k|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1723:17): [True: 97, False: 1.34k]
  ------------------
 1724|     97|                ptrTEXT = segptr;
 1725|     97|                style = 391;  // UPX 3.91
 1726|     97|            }
 1727|  1.43k|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1727:17): [True: 32, False: 1.40k]
  ------------------
 1728|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1729|     32|                style = 392;  // UPX 3.92
 1730|     32|            }
 1731|  1.43k|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1731:17): [True: 541, False: 898]
  ------------------
 1732|    541|                offLINK = segptr->fileoff;
 1733|    541|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1733:21): [True: 102, False: 439]
  ------------------
 1734|    102|                    style = 395;
 1735|    102|                }
 1736|    541|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1736:21): [True: 145, False: 396]
  ------------------
 1737|    145|                    offLINK = pos_next;
 1738|    145|                }
 1739|    541|            }
 1740|  1.43k|            pos_next = segptr->filesize + segptr->fileoff;
 1741|  1.43k|        }
 1742|  1.31k|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1742:18): [True: 745, False: 568]
  ------------------
 1743|    745|            rip = entryVMA = threadc_getPC(ptr);
 1744|    745|        }
 1745|  2.78k|    }
 1746|    436|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1746:9): [True: 347, False: 89]
  |  Branch (1746:20): [True: 308, False: 39]
  ------------------
 1747|    308|        style = 392;
 1748|    308|    }
 1749|    436|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1749:9): [True: 8, False: 428]
  |  Branch (1749:23): [True: 6, False: 2]
  |  Branch (1749:37): [True: 3, False: 3]
  |  Branch (1749:49): [True: 2, False: 1]
  ------------------
 1750|      2|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1751|      2|    }
 1752|    436|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1752:9): [True: 11, False: 425]
  |  Branch (1752:23): [True: 12, False: 413]
  ------------------
 1753|     19|        return false;
 1754|     19|    }
 1755|       |
 1756|    417|    int const small = 32 + sizeof(overlay_offset);
 1757|    417|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1758|    417|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1758:9): [True: 3, False: 414]
  ------------------
 1759|      3|        fi->seek(offLINK - bufsize, SEEK_SET);
 1760|      3|    } else
 1761|    414|    if (392 == style) {
  ------------------
  |  Branch (1761:9): [True: 318, False: 96]
  ------------------
 1762|    318|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1762:13): [True: 7, False: 311]
  ------------------
 1763|      7|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1764|      7|        }
 1765|    311|        else { // PackHeader follows loader at __LINKEDIT
 1766|    311|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1766:17): [True: 235, False: 76]
  ------------------
 1767|    235|                bufsize = fi->st_size() - offLINK;
 1768|    235|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1768:21): [True: 6, False: 229]
  ------------------
 1769|      6|                    throwCantUnpack("bad offLINK %p %p",
 1770|      6|                        (void *)offLINK, (void *)file_size);
 1771|      6|                }
 1772|    235|            }
 1773|    305|            fi->seek(offLINK, SEEK_SET);
 1774|    305|        }
 1775|    318|    } else
 1776|     96|    if (395 == style) {
  ------------------
  |  Branch (1776:9): [True: 92, False: 4]
  ------------------
 1777|     92|        fi->seek(offLINK - bufsize, SEEK_SET);
 1778|     92|    }
 1779|    411|    MemBuffer buf(bufsize);
 1780|    411|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1781|    411|    buf3.clear();
 1782|       |
 1783|    411|    fi->readx(buf, bufsize);
 1784|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1785|       |
 1786|    411|    int i = bufsize;
 1787|  23.2k|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1787:12): [True: 23.0k, False: 135]
  |  Branch (1787:25): [True: 22.7k, False: 276]
  ------------------
 1788|    411|    i -= small;
 1789|       |    // allow incompressible extents
 1790|    411|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1790:9): [True: 135, False: 276]
  |  Branch (1790:18): [True: 276, False: 0]
  ------------------
 1791|       |        // Breadcrumbs failed.
 1792|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1793|    399|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1793:38): [True: 63, False: 336]
  ------------------
 1794|    399|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1794:13): [True: 63, False: 336]
  |  Branch (1794:24): [True: 58, False: 5]
  |  Branch (1794:31): [True: 2, False: 56]
  ------------------
 1795|      2|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1796|      2|            fi->readx(buf3, bufsize);
 1797|      2|            unsigned char const *b = &buf3[0];
 1798|      2|            unsigned disp = *(TE32 const *)&b[1];
 1799|      2|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1799:17): [True: 0, False: 2]
  ------------------
 1800|      0|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1800:21): [True: 0, False: 0]
  |  Branch (1800:35): [True: 0, False: 0]
  ------------------
 1801|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1802|       |                    // searching for "executable_path=" etc.
 1803|      0|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1803:21): [True: 0, False: 0]
  |  Branch (1803:40): [True: 0, False: 0]
  ------------------
 1804|      0|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1805|      0|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1805:25): [True: 0, False: 0]
  |  Branch (1805:46): [True: 0, False: 0]
  ------------------
 1806|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1807|       |                        // This is the folded stub.
 1808|       |                        // FIXME: check b_method?
 1809|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000) {
  ------------------
  |  Branch (1809:29): [True: 0, False: 0]
  |  Branch (1809:60): [True: 0, False: 0]
  ------------------
 1810|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1811|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1812|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1813|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1813:33): [True: 0, False: 0]
  ------------------
 1814|      0|                                return true;  // success
 1815|      0|                            }
 1816|      0|                            overlay_offset = 0;  // failure
 1817|      0|                        }
 1818|      0|                    }
 1819|      0|                }
 1820|      0|            }
 1821|      2|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1821:17): [True: 0, False: 2]
  ------------------
 1822|      0|                infoWarning("file corrupted: %s", fi->getName());
 1823|      0|                fi->seek(file_size - bufsize, SEEK_SET);
 1824|      0|                fi->readx(buf3, bufsize);
 1825|      0|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1826|      0|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1826:24): [True: 0, False: 0]
  ------------------
 1827|      0|                    unsigned x = *p;
 1828|      0|                    if (x) {
  ------------------
  |  Branch (1828:25): [True: 0, False: 0]
  ------------------
 1829|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1829:29): [True: 0, False: 0]
  |  Branch (1829:40): [True: 0, False: 0]
  ------------------
 1830|      0|                            fi->seek(0, SEEK_SET);
 1831|      0|                            fi->readx(buf3, bufsize);
 1832|      0|                            p = (unsigned const *)&buf3[x];
 1833|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1833:33): [True: 0, False: 0]
  |  Branch (1833:46): [True: 0, False: 0]
  |  Branch (1833:59): [True: 0, False: 0]
  ------------------
 1834|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1834:33): [True: 0, False: 0]
  |  Branch (1834:59): [True: 0, False: 0]
  ------------------
 1835|      0|                            ) {
 1836|      0|                                overlay_offset = x;
 1837|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1838|      0|                                    overlay_offset);
 1839|      0|                                return true;
 1840|      0|                            }
 1841|      0|                        }
 1842|      0|                        break;
 1843|      0|                    }
 1844|      0|                }
 1845|      0|            }
 1846|      2|        }
 1847|    399|        if (391==style) {
  ------------------
  |  Branch (1847:13): [True: 1, False: 398]
  ------------------
 1848|      1|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1849|      1|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1849:20): [True: 0, False: 1]
  ------------------
 1850|      1|            overlay_offset = *uptr;
 1851|      1|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1851:17): [True: 0, False: 1]
  |  Branch (1851:55): [True: 0, False: 0]
  ------------------
 1852|      0|                return true;  // success
 1853|      0|            }
 1854|      1|            overlay_offset = 0;
 1855|      1|            return false;
 1856|      1|        }
 1857|    398|        if (392==style) {
  ------------------
  |  Branch (1857:13): [True: 310, False: 88]
  ------------------
 1858|    310|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1859|       |            // p_info isn't used for execution, so it has less value for checking:
 1860|       |            //      0== .p_progid
 1861|       |            //      .p_filesize == .p_blocksize
 1862|    310|            fi->seek(overlay_offset, SEEK_SET);
 1863|    310|            fi->readx(buf3, bufsize);
 1864|    310|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1865|    310|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1866|    310|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1867|    310|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1867:17): [True: 189, False: 121]
  ------------------
 1868|    189|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1868:17): [True: 27, False: 162]
  ------------------
 1869|     27|                unsigned const method = b_ptr->b_method;
 1870|     27|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  614|     27|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  620|     24|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1870:22): [True: 3, False: 24]
  |  Branch (1870:48): [True: 2, False: 22]
  ------------------
 1871|      5|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1871:21): [True: 1, False: 4]
  ------------------
 1872|      1|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1872:21): [True: 0, False: 1]
  ------------------
 1873|      0|                    return true;
 1874|      0|                }
 1875|     27|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1876|     27|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  615|     27|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  621|     20|#define M_NRV2E_8     9
  ------------------
  |  Branch (1876:22): [True: 7, False: 20]
  |  Branch (1876:45): [True: 1, False: 19]
  ------------------
 1877|      8|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1877:20): [True: 2, False: 6]
  ------------------
 1878|      2|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1878:21): [True: 0, False: 2]
  ------------------
 1879|      0|                    return true;
 1880|      0|                }
 1881|       |                // FIXME: M_LZMA
 1882|     27|            }
 1883|       |
 1884|    310|            overlay_offset = 0;
 1885|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1886|       |            // is the total length of compressed data which precedes it
 1887|       |            //(distance to l_info), so that's another method.
 1888|    310|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1889|    310|            fi->readx(buf3, 0x1000);
 1890|    310|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1891|    310|            unsigned const *p;
 1892|  61.8k|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1892:55): [True: 61.7k, False: 129]
  |  Branch (1892:69): [True: 1.58k, False: 60.1k]
  ------------------
 1893|  1.58k|                overlay_offset  = *(TE32 const *)p;
 1894|  1.58k|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1894:21): [True: 80, False: 1.50k]
  ------------------
 1895|     80|                    throwCantUnpack("file corrupted");
 1896|  1.50k|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1896:21): [True: 1.29k, False: 210]
  ------------------
 1897|  1.29k|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1898|  1.29k|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1899|  1.29k|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1899:25): [True: 9, False: 1.28k]
  ------------------
 1900|      9|                        throwCantUnpack("file corrupted");
 1901|  1.28k|                    fi->seek(overlay_offset, SEEK_SET);
 1902|  1.28k|                    fi->readx(buf3, bufsize);
 1903|  1.28k|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1903:25): [True: 632, False: 657]
  ------------------
 1904|    632|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1904:25): [True: 92, False: 540]
  ------------------
 1905|     92|                        return true;
 1906|     92|                    }
 1907|  1.28k|                }
 1908|  1.50k|            }
 1909|    310|        }
 1910|    398|    }
 1911|       |
 1912|    229|    overlay_offset = 0;  // impossible value
 1913|    229|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1914|    229|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1914:9): [True: 140, False: 89]
  |  Branch (1914:19): [True: 140, False: 0]
  ------------------
 1915|    140|        overlay_offset = get_te32(buf + i + l);
 1916|    140|    }
 1917|    229|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1917:16): [True: 105, False: 124]
  ------------------
 1918|    124|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1918:9): [True: 94, False: 30]
  ------------------
 1919|    110|        infoWarning("file corrupted: %s", fi->getName());
 1920|    110|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1921|    110|        fi->seek(sz_mach_headers, SEEK_SET);
 1922|    110|        fi->readx(buf2, buf2.getSize());
 1923|    110|        unsigned const *p = (unsigned const *)&buf2[0];
 1924|    110|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1925|   260k|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1925:16): [True: 260k, False: 99]
  ------------------
 1926|   260k|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1926:16): [True: 121k, False: 139k]
  ------------------
 1927|   121k|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1927:16): [True: 16.0k, False: 105k]
  ------------------
 1928|  16.0k|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1928:13): [True: 1.45k, False: 14.6k]
  ------------------
 1929|  1.45k|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1929:13): [True: 872, False: 587]
  ------------------
 1930|    872|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1930:13): [True: 30, False: 842]
  ------------------
 1931|   260k|        ) {
 1932|     30|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1933|     30|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1933:19): [True: 19, False: 11]
  ------------------
 1934|     11|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1934:31): [True: 0, False: 11]
  ------------------
 1935|     11|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1935:24): [True: 0, False: 11]
  ------------------
 1936|     11|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1937|     11|                return true;
 1938|     11|            }
 1939|     30|        }
 1940|     99|        throwCantUnpack("file corrupted");
 1941|    110|    }
 1942|    119|    return true;
 1943|    229|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjjjj:
  219|  13.4k|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|  13.4k|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|  13.4k|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|  13.4k|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|  13.4k|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|  13.4k|{
  225|  13.4k|    MachClass::compileTimeAssertions();
  226|  13.4k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|  13.4k|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|  13.4k|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|  13.4k|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|  13.4k|    memset(&linkitem, 0, sizeof(linkitem));
  231|  13.4k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEED2Ev:
  235|  13.4k|{
  236|  13.4k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE6unpackEP10OutputFile:
 1474|    785|{
 1475|    785|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1476|    785|    fi->seek(0, SEEK_SET);
 1477|    785|    fi->readx(&mhdri, sizeof(mhdri));
 1478|    785|    if ((MH_MAGIC + (sizeof(Addr)>>3)) != mhdri.magic
  ------------------
  |  Branch (1478:9): [True: 0, False: 785]
  ------------------
 1479|      0|    &&  Mach_fat_header::FAT_MAGIC != mhdri.magic) {
  ------------------
  |  Branch (1479:9): [True: 0, False: 0]
  ------------------
 1480|      0|        throwCantUnpack("file header corrupted");
 1481|      0|    }
 1482|    785|    unsigned const sz_cmds = mhdri.sizeofcmds;
 1483|    785|    if ((sizeof(mhdri) + sz_cmds) > (size_t)fi->st_size()) {
  ------------------
  |  Branch (1483:9): [True: 1, False: 784]
  ------------------
 1484|      1|        throwCantUnpack("file header corrupted");
 1485|      1|    }
 1486|    784|    rawmseg_buf.dealloc();  // discard "same" contents from ::canUnpack()
 1487|    784|    rawmseg_buf.alloc(sz_cmds);
 1488|    784|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1489|    784|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1490|       |
 1491|       |    // FIXME forgot space left for LC_CODE_SIGNATURE;
 1492|       |    // but canUnpack() sets overlay_offset anyway.
 1493|       |    //overlay_offset = sizeof(mhdri) + mhdri.sizeofcmds + sizeof(linfo);
 1494|       |
 1495|    784|    fi->seek(overlay_offset, SEEK_SET);
 1496|    784|    p_info hbuf;
 1497|    784|    fi->readx(&hbuf, sizeof(hbuf));
 1498|    784|    unsigned const orig_file_size = get_te32(&hbuf.p_filesize);
 1499|    784|    blocksize = get_te32(&hbuf.p_blocksize);  // emacs-21.2.1 was 0x01d47e6c (== 30703212)
 1500|    784|    if (blocksize > orig_file_size || blocksize > UPX_RSIZE_MAX_MEM)
  ------------------
  |  |  170|    752|#define UPX_RSIZE_MAX_MEM (768 * 1024 * 1024) // DO NOT CHANGE !!!
  ------------------
  |  Branch (1500:9): [True: 32, False: 752]
  |  Branch (1500:39): [True: 10, False: 742]
  ------------------
 1501|     40|        throwCantUnpack("file header corrupted");
 1502|    744|    if (file_size > (off_t)orig_file_size) {
  ------------------
  |  Branch (1502:9): [True: 51, False: 693]
  ------------------
 1503|     51|        opt->info_mode += !opt->info_mode ? 1 : 0;  // make visible
  ------------------
  |  Branch (1503:27): [True: 51, False: 0]
  ------------------
 1504|     51|        opt->backup = 1;
 1505|     51|        infoWarning("packed size too big; discarding appended data, keeping backup");
 1506|     51|    }
 1507|       |
 1508|    744|    ibuf.alloc(blocksize + OVERHEAD);
 1509|    744|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 1510|    744|    fi->readx(&bhdr, sizeof(bhdr));
 1511|    744|    ph.u_len = get_te32(&bhdr.sz_unc);
 1512|    744|    ph.c_len = get_te32(&bhdr.sz_cpr);
 1513|    744|    if ((unsigned)file_size < ph.c_len || ph.c_len == 0 || ph.u_len == 0)
  ------------------
  |  Branch (1513:9): [True: 65, False: 679]
  |  Branch (1513:43): [True: 18, False: 661]
  |  Branch (1513:60): [True: 2, False: 659]
  ------------------
 1514|     78|        throwCantUnpack("file header corrupted");
 1515|    666|    ph.method = bhdr.b_method;
 1516|    666|    if (ph.method < M_NRV2B_LE32
  ------------------
  |  |  614|  1.33k|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (1516:9): [True: 27, False: 639]
  ------------------
 1517|    639|    ||  ph.method > M_BZIP2)
  ------------------
  |  |  629|    639|#define M_BZIP2       17 // NOT YET USED
  ------------------
  |  Branch (1517:9): [True: 14, False: 625]
  ------------------
 1518|     34|        throwCantUnpack("file header bad method");
 1519|    632|    ph.filter = bhdr.b_ftid;
 1520|    632|    ph.filter_cto = bhdr.b_cto8;
 1521|       |
 1522|       |    // Uncompress Macho headers
 1523|    632|    fi->readx(ibuf, ph.c_len);
 1524|    632|    MemBuffer mhdr_buf(ph.u_len);
 1525|    632|    Mach_header *const mhdr = (Mach_header *)mhdr_buf.getVoidPtr();
 1526|    632|    decompress(ibuf, (upx_byte *)mhdr, false);
 1527|    632|    if (mhdri.magic      != mhdr->magic
  ------------------
  |  Branch (1527:9): [True: 620, False: 12]
  ------------------
 1528|     12|    ||  mhdri.cputype    != mhdr->cputype
  ------------------
  |  Branch (1528:9): [True: 0, False: 12]
  ------------------
 1529|     12|    ||  mhdri.cpusubtype != mhdr->cpusubtype
  ------------------
  |  Branch (1529:9): [True: 1, False: 11]
  ------------------
 1530|     11|    ||  mhdri.filetype   != mhdr->filetype)
  ------------------
  |  Branch (1530:9): [True: 0, False: 11]
  ------------------
 1531|      4|        throwCantUnpack("file header corrupted");
 1532|    628|    unsigned const ncmds = mhdr->ncmds;
 1533|    628|    if (!ncmds || MAX_N_CMDS < ncmds) { // arbitrary limit
  ------------------
  |  | 1470|     11|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1533:9): [True: 617, False: 11]
  |  Branch (1533:19): [True: 0, False: 11]
  ------------------
 1534|      0|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1535|      0|            "bad Mach_header.ncmds = %d", ncmds);
 1536|      0|        throwCantUnpack(msg);
 1537|      0|    }
 1538|       |
 1539|    628|    msegcmd_buf.alloc(sizeof(Mach_segment_command) * ncmds);
 1540|    628|    msegcmd = (Mach_segment_command *)msegcmd_buf.getVoidPtr();
 1541|    628|    unsigned char const *ptr = (unsigned char const *)(1+mhdr);
 1542|    628|    unsigned headway = mhdr_buf.getSize() - sizeof(*mhdr);
 1543|    781|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1543:25): [True: 153, False: 628]
  ------------------
 1544|    153|        unsigned cmdsize = ((Mach_command const *)ptr)->cmdsize;
 1545|    153|        if (is_bad_linker_command( ((Mach_command const *)ptr)->cmd, cmdsize,
  ------------------
  |  Branch (1545:13): [True: 0, False: 153]
  ------------------
 1546|    153|                headway, lc_seg, sizeof(Addr))) {
 1547|      0|            char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1548|      0|                "bad packed Mach load_command @%#x", ptr_udiff_bytes(ptr, mhdr));
 1549|      0|            throwCantUnpack(msg);
 1550|      0|        }
 1551|    153|        memcpy(&msegcmd[j], ptr, upx::umin(usizeof(Mach_segment_command), cmdsize));
  ------------------
  |  |  509|    153|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
 1552|    153|        headway -= cmdsize;
 1553|    153|        ptr     += cmdsize;
 1554|    153|    }
 1555|       |
 1556|       |    // Put LC_SEGMENT together at the beginning
 1557|    628|    upx_qsort(msegcmd, ncmds, sizeof(*msegcmd), compare_segment_command);
  ------------------
  |  |  220|    628|#define upx_qsort ::qsort
  ------------------
 1558|    628|    n_segment = 0;
 1559|    781|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1559:25): [True: 153, False: 628]
  ------------------
 1560|    153|        n_segment += (lc_seg==msegcmd[j].cmd);
 1561|    153|    }
 1562|       |
 1563|    628|    total_in = 0;
 1564|    628|    total_out = 0;
 1565|    628|    unsigned c_adler = upx_adler32(nullptr, 0);
 1566|    628|    unsigned u_adler = upx_adler32(nullptr, 0);
 1567|       |
 1568|    628|    fi->seek(- (off_t)(sizeof(bhdr) + ph.c_len), SEEK_CUR);
 1569|    715|    for (unsigned k = 0; k < ncmds; ++k) {
  ------------------
  |  Branch (1569:26): [True: 87, False: 628]
  ------------------
 1570|     87|        if (msegcmd[k].cmd==lc_seg && msegcmd[k].filesize!=0) {
  ------------------
  |  Branch (1570:13): [True: 46, False: 41]
  |  Branch (1570:39): [True: 35, False: 11]
  ------------------
 1571|     35|            if (!strcmp("__TEXT", msegcmd[k].segname)) {
  ------------------
  |  Branch (1571:17): [True: 11, False: 24]
  ------------------
 1572|     11|                segTEXT = msegcmd[k];
 1573|     11|            }
 1574|     35|            if (fo)
  ------------------
  |  Branch (1574:17): [True: 35, False: 0]
  ------------------
 1575|     35|                fo->seek(msegcmd[k].fileoff, SEEK_SET);
 1576|     35|            unpackExtent(msegcmd[k].filesize, fo,
 1577|     35|                c_adler, u_adler, false, sizeof(bhdr));
 1578|     35|            if (my_filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (1578:17): [True: 0, False: 35]
  ------------------
 1579|      0|                break;  // only the first lc_seg when MH_DYLIB
 1580|      0|            }
 1581|     35|        }
 1582|     87|    }
 1583|    628|    Mach_segment_command const *sc = (Mach_segment_command const *)(void *)(1+ mhdr);
 1584|    628|    if (my_filetype==Mach_header::MH_DYLIB) { // rest of lc_seg are not compressed
  ------------------
  |  Branch (1584:9): [True: 0, False: 628]
  ------------------
 1585|      0|        upx_uint64_t cpr_mod_init_func(0);
 1586|      0|                TE32 unc_mod_init_func; *(int *)&unc_mod_init_func = 0;
 1587|      0|        Mach_segment_command const *rc = rawmseg;
 1588|      0|        rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc);
 1589|      0|        sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc);
 1590|      0|        for (
 1591|      0|            unsigned k=1;  // skip first lc_seg, which was uncompressed above
 1592|      0|            k < ncmds;
  ------------------
  |  Branch (1592:13): [True: 0, False: 0]
  ------------------
 1593|      0|            (++k), (sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc)),
 1594|      0|                   (rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc))
 1595|      0|        ) {
 1596|      0|            if (lc_seg==rc->cmd
  ------------------
  |  Branch (1596:17): [True: 0, False: 0]
  ------------------
 1597|      0|            &&  0!=rc->filesize ) {
  ------------------
  |  Branch (1597:17): [True: 0, False: 0]
  ------------------
 1598|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1598:21): [True: 0, False: 0]
  ------------------
 1599|      0|                    cpr_mod_init_func = get_mod_init_func(rc);
 1600|      0|                    fi->seek(cpr_mod_init_func - 4*sizeof(TE32), SEEK_SET);
 1601|      0|                    fi->readx(&unc_mod_init_func, sizeof(unc_mod_init_func));
 1602|      0|                }
 1603|      0|                fi->seek(rc->fileoff, SEEK_SET);
 1604|      0|                if (fo)
  ------------------
  |  Branch (1604:21): [True: 0, False: 0]
  ------------------
 1605|      0|                    fo->seek(sc->fileoff, SEEK_SET);
 1606|      0|                unsigned const len = rc->filesize;
 1607|      0|                MemBuffer data(len);
 1608|      0|                fi->readx(data, len);
 1609|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1609:21): [True: 0, False: 0]
  ------------------
 1610|      0|                    set_te32(&data[o__mod_init_func - rc->fileoff], unc_mod_init_func);
 1611|      0|                }
 1612|      0|                if (fo)
  ------------------
  |  Branch (1612:21): [True: 0, False: 0]
  ------------------
 1613|      0|                    fo->write(data, len);
 1614|      0|            }
 1615|      0|        }
 1616|      0|    }
 1617|    628|    else
 1618|    666|    for (unsigned j = 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1618:26): [True: 38, False: 628]
  ------------------
 1619|     38|        unsigned const size = find_SEGMENT_gap(j, orig_file_size);
 1620|     38|        if (size) {
  ------------------
  |  Branch (1620:13): [True: 10, False: 28]
  ------------------
 1621|     10|            unsigned const where = msegcmd[j].fileoff +msegcmd[j].filesize;
 1622|     10|            if (fo)
  ------------------
  |  Branch (1622:17): [True: 10, False: 0]
  ------------------
 1623|     10|                fo->seek(where, SEEK_SET);
 1624|     10|            unpackExtent(size, fo,
 1625|     10|                c_adler, u_adler, false, sizeof(bhdr));
 1626|     10|        }
 1627|     38|    }
 1628|    628|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
 1633|  13.4k|{
 1634|  13.4k|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1635|  13.4k|    fi->seek(0, SEEK_SET);
 1636|  13.4k|    fi->readx(&mhdri, sizeof(mhdri));
 1637|       |
 1638|  13.4k|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1638:9): [True: 8.36k, False: 5.11k]
  ------------------
 1639|  5.11k|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1639:9): [True: 2.46k, False: 2.64k]
  ------------------
 1640|  2.64k|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1640:9): [True: 793, False: 1.85k]
  ------------------
 1641|  13.4k|    )
 1642|  11.6k|        return false;
 1643|  1.85k|    my_cpusubtype = mhdri.cpusubtype;
 1644|       |
 1645|  1.85k|    unsigned const ncmds = mhdri.ncmds;
 1646|  1.85k|    int headway = (int)mhdri.sizeofcmds;
 1647|  1.85k|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1470|  1.85k|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1647:9): [True: 1, False: 1.85k]
  |  Branch (1647:19): [True: 35, False: 1.81k]
  |  Branch (1647:41): [True: 26, False: 1.79k]
  ------------------
 1648|  1.79k|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1648:10): [True: 35, False: 1.75k]
  ------------------
 1649|     97|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     97|#define snprintf  upx_safe_snprintf
  ------------------
 1650|     97|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1651|     97|        throwCantUnpack(msg);
 1652|     97|    }
 1653|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1654|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1655|  1.75k|    if ((2 == ncmds
  ------------------
  |  Branch (1655:10): [True: 16, False: 1.74k]
  ------------------
 1656|     16|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1656:12): [True: 1, False: 15]
  ------------------
 1657|  1.75k|    ||  (3 <= ncmds
  ------------------
  |  Branch (1657:10): [True: 1.73k, False: 22]
  ------------------
 1658|  1.73k|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1658:12): [True: 6, False: 1.72k]
  ------------------
 1659|  1.73k|                    + sizeof(Mach_main_command)))) {
 1660|      7|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1661|      7|        throwCantUnpack("file corrupted");
 1662|      7|    }
 1663|  1.74k|    sz_mach_headers = headway + sizeof(mhdri);
 1664|  1.74k|    if (2048 < headway) {
  ------------------
  |  Branch (1664:9): [True: 85, False: 1.66k]
  ------------------
 1665|     85|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1666|     85|    }
 1667|  1.74k|    if (!headway) {
  ------------------
  |  Branch (1667:9): [True: 0, False: 1.74k]
  ------------------
 1668|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1669|      0|    }
 1670|  1.74k|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1671|  1.74k|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1672|  1.74k|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1673|       |
 1674|  1.74k|    Mach_segment_command const *ptrTEXT = nullptr;
 1675|  1.74k|    upx_uint64_t rip = 0;
 1676|  1.74k|    unsigned style = 0;
 1677|  1.74k|    off_t offLINK = 0;
  ------------------
  |  |  216|  1.74k|#define off_t upx_off_t
  ------------------
 1678|  1.74k|    unsigned pos_next = 0;
 1679|  1.74k|    unsigned nseg = 0;
 1680|  1.74k|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1681|  10.8k|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1681:25): [True: 9.44k, False: 1.41k]
  ------------------
 1682|  9.44k|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1683|  9.44k|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1683:13): [True: 12, False: 9.43k]
  ------------------
 1684|     12|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|     12|#define snprintf  upx_safe_snprintf
  ------------------
 1685|     12|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1686|     12|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1687|     12|            throwCantPack(buf);
 1688|     12|        }
 1689|  9.43k|        unsigned const cmd = ptr->cmd;
 1690|  9.43k|        unsigned const cmdsize = ptr->cmdsize;
 1691|  9.43k|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1691:13): [True: 165, False: 9.26k]
  ------------------
 1692|    165|                opt->info_mode += 1;
 1693|    165|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1694|    165|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1695|    165|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1696|    165|                opt->info_mode -= 1;
 1697|    165|                throwCantUnpack("file corrupted");
 1698|    165|        }
 1699|  9.26k|        headway -= cmdsize;
 1700|  9.26k|        if (headway < 0) {
  ------------------
  |  Branch (1700:13): [True: 0, False: 9.26k]
  ------------------
 1701|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1702|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1703|      0|                (unsigned)ptr->cmdsize);
 1704|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1705|      0|        }
 1706|  9.26k|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1706:13): [True: 4.67k, False: 4.59k]
  ------------------
 1707|  4.67k|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1708|  4.67k|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1708:17): [True: 87, False: 4.58k]
  ------------------
 1709|  4.58k|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1709:17): [True: 71, False: 4.51k]
  ------------------
 1710|  4.51k|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1710:17): [True: 3, False: 4.51k]
  ------------------
 1711|    161|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1712|    161|                      "  filesize=0x%lx  fileoff=0x%lx",
 1713|    161|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1714|    161|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1715|    161|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1716|    161|                throwCantUnpack("file corrupted");
 1717|    161|            }
 1718|  4.51k|            ++nseg;
 1719|  4.51k|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1719:17): [True: 36, False: 4.47k]
  ------------------
 1720|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1721|     36|                style = 391;  // UPX 3.91
 1722|     36|            }
 1723|  4.51k|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1723:17): [True: 413, False: 4.10k]
  ------------------
 1724|    413|                ptrTEXT = segptr;
 1725|    413|                style = 391;  // UPX 3.91
 1726|    413|            }
 1727|  4.51k|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1727:17): [True: 14, False: 4.50k]
  ------------------
 1728|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1729|     14|                style = 392;  // UPX 3.92
 1730|     14|            }
 1731|  4.51k|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1731:17): [True: 1.41k, False: 3.10k]
  ------------------
 1732|  1.41k|                offLINK = segptr->fileoff;
 1733|  1.41k|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1733:21): [True: 54, False: 1.35k]
  ------------------
 1734|     54|                    style = 395;
 1735|     54|                }
 1736|  1.41k|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1736:21): [True: 870, False: 543]
  ------------------
 1737|    870|                    offLINK = pos_next;
 1738|    870|                }
 1739|  1.41k|            }
 1740|  4.51k|            pos_next = segptr->filesize + segptr->fileoff;
 1741|  4.51k|        }
 1742|  4.59k|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1742:18): [True: 589, False: 4.00k]
  ------------------
 1743|    589|            rip = entryVMA = threadc_getPC(ptr);
 1744|    589|        }
 1745|  9.26k|    }
 1746|  1.41k|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1746:9): [True: 1.36k, False: 50]
  |  Branch (1746:20): [True: 1.31k, False: 43]
  ------------------
 1747|  1.31k|        style = 392;
 1748|  1.31k|    }
 1749|  1.41k|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1749:9): [True: 23, False: 1.38k]
  |  Branch (1749:23): [True: 21, False: 2]
  |  Branch (1749:37): [True: 12, False: 9]
  |  Branch (1749:49): [True: 8, False: 4]
  ------------------
 1750|      8|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1751|      8|    }
 1752|  1.41k|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1752:9): [True: 26, False: 1.38k]
  |  Branch (1752:23): [True: 41, False: 1.34k]
  ------------------
 1753|     57|        return false;
 1754|     57|    }
 1755|       |
 1756|  1.35k|    int const small = 32 + sizeof(overlay_offset);
 1757|  1.35k|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1758|  1.35k|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1758:9): [True: 7, False: 1.34k]
  ------------------
 1759|      7|        fi->seek(offLINK - bufsize, SEEK_SET);
 1760|      7|    } else
 1761|  1.34k|    if (392 == style) {
  ------------------
  |  Branch (1761:9): [True: 1.29k, False: 54]
  ------------------
 1762|  1.29k|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1762:13): [True: 33, False: 1.26k]
  ------------------
 1763|     33|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1764|     33|        }
 1765|  1.26k|        else { // PackHeader follows loader at __LINKEDIT
 1766|  1.26k|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1766:17): [True: 1.22k, False: 40]
  ------------------
 1767|  1.22k|                bufsize = fi->st_size() - offLINK;
 1768|  1.22k|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1768:21): [True: 1, False: 1.21k]
  ------------------
 1769|      1|                    throwCantUnpack("bad offLINK %p %p",
 1770|      1|                        (void *)offLINK, (void *)file_size);
 1771|      1|                }
 1772|  1.22k|            }
 1773|  1.25k|            fi->seek(offLINK, SEEK_SET);
 1774|  1.25k|        }
 1775|  1.29k|    } else
 1776|     54|    if (395 == style) {
  ------------------
  |  Branch (1776:9): [True: 44, False: 10]
  ------------------
 1777|     44|        fi->seek(offLINK - bufsize, SEEK_SET);
 1778|     44|    }
 1779|  1.35k|    MemBuffer buf(bufsize);
 1780|  1.35k|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1781|  1.35k|    buf3.clear();
 1782|       |
 1783|  1.35k|    fi->readx(buf, bufsize);
 1784|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1785|       |
 1786|  1.35k|    int i = bufsize;
 1787|   168k|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1787:12): [True: 168k, False: 185]
  |  Branch (1787:25): [True: 167k, False: 1.16k]
  ------------------
 1788|  1.35k|    i -= small;
 1789|       |    // allow incompressible extents
 1790|  1.35k|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1790:9): [True: 186, False: 1.16k]
  |  Branch (1790:18): [True: 366, False: 801]
  ------------------
 1791|       |        // Breadcrumbs failed.
 1792|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1793|    530|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1793:38): [True: 343, False: 187]
  ------------------
 1794|    530|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1794:13): [True: 343, False: 187]
  |  Branch (1794:24): [True: 321, False: 22]
  |  Branch (1794:31): [True: 153, False: 168]
  ------------------
 1795|    153|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1796|    153|            fi->readx(buf3, bufsize);
 1797|    153|            unsigned char const *b = &buf3[0];
 1798|    153|            unsigned disp = *(TE32 const *)&b[1];
 1799|    153|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1799:17): [True: 56, False: 97]
  ------------------
 1800|     56|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1800:21): [True: 49, False: 7]
  |  Branch (1800:35): [True: 11, False: 38]
  ------------------
 1801|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1802|       |                    // searching for "executable_path=" etc.
 1803|     11|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1803:21): [True: 6, False: 5]
  |  Branch (1803:40): [True: 5, False: 1]
  ------------------
 1804|      5|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1805|      5|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1805:25): [True: 1, False: 4]
  |  Branch (1805:46): [True: 0, False: 1]
  ------------------
 1806|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1807|       |                        // This is the folded stub.
 1808|       |                        // FIXME: check b_method?
 1809|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000) {
  ------------------
  |  Branch (1809:29): [True: 0, False: 0]
  |  Branch (1809:60): [True: 0, False: 0]
  ------------------
 1810|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1811|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1812|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1813|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1813:33): [True: 0, False: 0]
  ------------------
 1814|      0|                                return true;  // success
 1815|      0|                            }
 1816|      0|                            overlay_offset = 0;  // failure
 1817|      0|                        }
 1818|      0|                    }
 1819|      5|                }
 1820|     56|            }
 1821|    153|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1821:17): [True: 1, False: 152]
  ------------------
 1822|      1|                infoWarning("file corrupted: %s", fi->getName());
 1823|      1|                fi->seek(file_size - bufsize, SEEK_SET);
 1824|      1|                fi->readx(buf3, bufsize);
 1825|      1|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1826|      1|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1826:24): [True: 0, False: 1]
  ------------------
 1827|      0|                    unsigned x = *p;
 1828|      0|                    if (x) {
  ------------------
  |  Branch (1828:25): [True: 0, False: 0]
  ------------------
 1829|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1829:29): [True: 0, False: 0]
  |  Branch (1829:40): [True: 0, False: 0]
  ------------------
 1830|      0|                            fi->seek(0, SEEK_SET);
 1831|      0|                            fi->readx(buf3, bufsize);
 1832|      0|                            p = (unsigned const *)&buf3[x];
 1833|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1833:33): [True: 0, False: 0]
  |  Branch (1833:46): [True: 0, False: 0]
  |  Branch (1833:59): [True: 0, False: 0]
  ------------------
 1834|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1834:33): [True: 0, False: 0]
  |  Branch (1834:59): [True: 0, False: 0]
  ------------------
 1835|      0|                            ) {
 1836|      0|                                overlay_offset = x;
 1837|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1838|      0|                                    overlay_offset);
 1839|      0|                                return true;
 1840|      0|                            }
 1841|      0|                        }
 1842|      0|                        break;
 1843|      0|                    }
 1844|      0|                }
 1845|      1|            }
 1846|    153|        }
 1847|    530|        if (391==style) {
  ------------------
  |  Branch (1847:13): [True: 1, False: 529]
  ------------------
 1848|      1|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1849|      1|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1849:20): [True: 0, False: 1]
  ------------------
 1850|      1|            overlay_offset = *uptr;
 1851|      1|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1851:17): [True: 0, False: 1]
  |  Branch (1851:55): [True: 0, False: 0]
  ------------------
 1852|      0|                return true;  // success
 1853|      0|            }
 1854|      1|            overlay_offset = 0;
 1855|      1|            return false;
 1856|      1|        }
 1857|    529|        if (392==style) {
  ------------------
  |  Branch (1857:13): [True: 406, False: 123]
  ------------------
 1858|    406|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1859|       |            // p_info isn't used for execution, so it has less value for checking:
 1860|       |            //      0== .p_progid
 1861|       |            //      .p_filesize == .p_blocksize
 1862|    406|            fi->seek(overlay_offset, SEEK_SET);
 1863|    406|            fi->readx(buf3, bufsize);
 1864|    406|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1865|    406|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1866|    406|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1867|    406|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1867:17): [True: 216, False: 190]
  ------------------
 1868|    216|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1868:17): [True: 66, False: 150]
  ------------------
 1869|     66|                unsigned const method = b_ptr->b_method;
 1870|     66|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  614|     66|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  620|     57|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1870:22): [True: 9, False: 57]
  |  Branch (1870:48): [True: 9, False: 48]
  ------------------
 1871|     18|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1871:21): [True: 4, False: 14]
  ------------------
 1872|      4|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1872:21): [True: 1, False: 3]
  ------------------
 1873|      1|                    return true;
 1874|      1|                }
 1875|     65|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1876|     65|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  615|     65|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  621|     60|#define M_NRV2E_8     9
  ------------------
  |  Branch (1876:22): [True: 5, False: 60]
  |  Branch (1876:45): [True: 6, False: 54]
  ------------------
 1877|     11|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1877:20): [True: 4, False: 7]
  ------------------
 1878|      4|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1878:21): [True: 1, False: 3]
  ------------------
 1879|      1|                    return true;
 1880|      1|                }
 1881|       |                // FIXME: M_LZMA
 1882|     65|            }
 1883|       |
 1884|    404|            overlay_offset = 0;
 1885|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1886|       |            // is the total length of compressed data which precedes it
 1887|       |            //(distance to l_info), so that's another method.
 1888|    404|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1889|    404|            fi->readx(buf3, 0x1000);
 1890|    404|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1891|    404|            unsigned const *p;
 1892|  75.5k|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1892:55): [True: 75.3k, False: 190]
  |  Branch (1892:69): [True: 2.15k, False: 73.1k]
  ------------------
 1893|  2.15k|                overlay_offset  = *(TE32 const *)p;
 1894|  2.15k|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1894:21): [True: 145, False: 2.01k]
  ------------------
 1895|    145|                    throwCantUnpack("file corrupted");
 1896|  2.01k|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1896:21): [True: 1.75k, False: 260]
  ------------------
 1897|  1.75k|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1898|  1.75k|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1899|  1.75k|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1899:25): [True: 19, False: 1.73k]
  ------------------
 1900|     19|                        throwCantUnpack("file corrupted");
 1901|  1.73k|                    fi->seek(overlay_offset, SEEK_SET);
 1902|  1.73k|                    fi->readx(buf3, bufsize);
 1903|  1.73k|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1903:25): [True: 772, False: 960]
  ------------------
 1904|    772|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1904:25): [True: 50, False: 722]
  ------------------
 1905|     50|                        return true;
 1906|     50|                    }
 1907|  1.73k|                }
 1908|  2.01k|            }
 1909|    404|        }
 1910|    529|    }
 1911|       |
 1912|  1.13k|    overlay_offset = 0;  // impossible value
 1913|  1.13k|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1914|  1.13k|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1914:9): [True: 885, False: 251]
  |  Branch (1914:19): [True: 884, False: 1]
  ------------------
 1915|    884|        overlay_offset = get_te32(buf + i + l);
 1916|    884|    }
 1917|  1.13k|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1917:16): [True: 268, False: 868]
  ------------------
 1918|    868|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1918:9): [True: 133, False: 735]
  ------------------
 1919|    150|        infoWarning("file corrupted: %s", fi->getName());
 1920|    150|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1921|    150|        fi->seek(sz_mach_headers, SEEK_SET);
 1922|    150|        fi->readx(buf2, buf2.getSize());
 1923|    150|        unsigned const *p = (unsigned const *)&buf2[0];
 1924|    150|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1925|   283k|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1925:16): [True: 283k, False: 134]
  ------------------
 1926|   283k|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1926:16): [True: 97.8k, False: 185k]
  ------------------
 1927|  97.8k|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1927:16): [True: 21.0k, False: 76.7k]
  ------------------
 1928|  21.0k|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1928:13): [True: 3.68k, False: 17.3k]
  ------------------
 1929|  3.68k|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1929:13): [True: 2.01k, False: 1.66k]
  ------------------
 1930|  2.01k|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1930:13): [True: 256, False: 1.76k]
  ------------------
 1931|   283k|        ) {
 1932|    256|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1933|    256|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1933:19): [True: 240, False: 16]
  ------------------
 1934|     16|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1934:31): [True: 0, False: 16]
  ------------------
 1935|     16|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1935:24): [True: 0, False: 16]
  ------------------
 1936|     16|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1937|     16|                return true;
 1938|     16|            }
 1939|    256|        }
 1940|    134|        throwCantUnpack("file corrupted");
 1941|    150|    }
 1942|    986|    return true;
 1943|  1.13k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE16find_SEGMENT_gapEjj:
 1112|     38|{
 1113|     38|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1114|     38|    if (lc_seg!=msegcmd[k].cmd
  ------------------
  |  Branch (1114:9): [True: 16, False: 22]
  ------------------
 1115|     22|    ||  0==msegcmd[k].filesize ) {
  ------------------
  |  Branch (1115:9): [True: 5, False: 17]
  ------------------
 1116|     21|        return 0;
 1117|     21|    }
 1118|     17|    unsigned const hi = msegcmd[k].fileoff + msegcmd[k].filesize;
 1119|     17|    unsigned lo = pos_eof;
 1120|     17|    unsigned j = k;
 1121|     73|    for (;;) { // circular search, optimize for adjacent ascending
 1122|     73|        ++j;
 1123|     73|        if (n_segment==j) {
  ------------------
  |  Branch (1123:13): [True: 12, False: 61]
  ------------------
 1124|     12|            j = 0;
 1125|     12|        }
 1126|     73|        if (k==j) {
  ------------------
  |  Branch (1126:13): [True: 12, False: 61]
  ------------------
 1127|     12|            break;
 1128|     12|        }
 1129|     61|        if (lc_seg==msegcmd[j].cmd
  ------------------
  |  Branch (1129:13): [True: 61, False: 0]
  ------------------
 1130|     61|        &&  0!=msegcmd[j].filesize ) {
  ------------------
  |  Branch (1130:13): [True: 49, False: 12]
  ------------------
 1131|     49|            unsigned const t = (unsigned) msegcmd[j].fileoff;
 1132|     49|            if ((t - hi) < (lo - hi)) {
  ------------------
  |  Branch (1132:17): [True: 15, False: 34]
  ------------------
 1133|     15|                lo = t;
 1134|     15|                if (hi==lo) {
  ------------------
  |  Branch (1134:21): [True: 5, False: 10]
  ------------------
 1135|      5|                    break;
 1136|      5|                }
 1137|     15|            }
 1138|     49|        }
 1139|     61|    }
 1140|     17|    return lo - hi;
 1141|     38|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE23compare_segment_commandEPKvS7_:
  560|    298|{
  561|    298|    Mach_segment_command const *const a = (Mach_segment_command const *)aa;
  562|    298|    Mach_segment_command const *const b = (Mach_segment_command const *)bb;
  563|    298|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
  564|    298|    unsigned const xa = a->cmd - lc_seg;
  565|    298|    unsigned const xb = b->cmd - lc_seg;
  566|    298|           if (xa < xb)        return -1;  // LC_SEGMENT first
  ------------------
  |  Branch (566:16): [True: 153, False: 145]
  ------------------
  567|    145|           if (xa > xb)        return  1;
  ------------------
  |  Branch (567:16): [True: 54, False: 91]
  ------------------
  568|       |    // Ascending by .fileoff so that find_SEGMENT_gap works
  569|     91|    if (a->fileoff < b->fileoff)
  ------------------
  |  Branch (569:9): [True: 69, False: 22]
  ------------------
  570|     69|                               return -1;
  571|     22|    if (a->fileoff > b->fileoff)
  ------------------
  |  Branch (571:9): [True: 11, False: 11]
  ------------------
  572|     11|                               return  1;
  573|       |    // Ascending by .vmaddr
  574|     11|    if (a->vmaddr < b->vmaddr) return -1;
  ------------------
  |  Branch (574:9): [True: 11, False: 0]
  ------------------
  575|      0|    if (a->vmaddr > b->vmaddr) return  1;
  ------------------
  |  Branch (575:9): [True: 0, False: 0]
  ------------------
  576|       |    // Descending by .vmsize
  577|      0|    if ((a->vmsize != 0) != (b->vmsize != 0))
  ------------------
  |  Branch (577:9): [True: 0, False: 0]
  ------------------
  578|      0|        return (a->vmsize != 0) ? -1 : 1;
  ------------------
  |  Branch (578:16): [True: 0, False: 0]
  ------------------
  579|       |    // What could remain?
  580|       |    // try to make sort order deterministic and just compare more fields
  581|      0|#define CMP(field) \
  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  583|      0|    CMP(vmsize);
  ------------------
  |  |  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (582:9): [True: 0, False: 0]
  |  |  |  Branch (582:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|      0|    CMP(cmdsize);
  ------------------
  |  |  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (582:9): [True: 0, False: 0]
  |  |  |  Branch (582:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|      0|    CMP(filesize);
  ------------------
  |  |  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (582:9): [True: 0, False: 0]
  |  |  |  Branch (582:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|      0|    CMP(maxprot);
  ------------------
  |  |  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (582:9): [True: 0, False: 0]
  |  |  |  Branch (582:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|      0|    CMP(initprot);
  ------------------
  |  |  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (582:9): [True: 0, False: 0]
  |  |  |  Branch (582:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|      0|    CMP(nsects);
  ------------------
  |  |  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (582:9): [True: 0, False: 0]
  |  |  |  Branch (582:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|      0|    CMP(flags);
  ------------------
  |  |  582|      0|    if (a->field != b->field) return a->field < b->field ? -1 : 1
  |  |  ------------------
  |  |  |  Branch (582:9): [True: 0, False: 0]
  |  |  |  Branch (582:38): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|      0|#undef CMP
  591|      0|    return 0;
  592|      0|}
_ZN11PackMachFatC2EP9InputFile:
 2284|  6.71k|PackMachFat::PackMachFat(InputFile *f) : super(f)
 2285|  6.71k|{
 2286|  6.71k|    bele = &N_BELE_RTP::le_policy;  // sham
 2287|  6.71k|}
_ZN11PackMachFatD2Ev:
 2290|  6.71k|{
 2291|  6.71k|}
_ZN11PackMachFat14check_fat_headEv:
 2294|  6.73k|{
 2295|  6.73k|    struct Mach_fat_arch const *const arch = &fat_head.arch[0];
 2296|  6.73k|    unsigned nfat = fat_head.fat.nfat_arch;
 2297|  6.73k|    if (Mach_fat_header::FAT_MAGIC!=fat_head.fat.magic
  ------------------
  |  Branch (2297:9): [True: 6.45k, False: 273]
  ------------------
 2298|  6.49k|    ||  N_FAT_ARCH < nfat) {
  ------------------
  |  Branch (2298:9): [True: 35, False: 238]
  ------------------
 2299|  6.49k|        return 0;
 2300|  6.49k|    }
 2301|    393|    for (unsigned j=0; j < nfat; ++j) {
  ------------------
  |  Branch (2301:24): [True: 252, False: 141]
  ------------------
 2302|    252|        unsigned const align = arch[j].align;
 2303|    252|        if (24 < align) {
  ------------------
  |  Branch (2303:13): [True: 27, False: 225]
  ------------------
 2304|     27|            char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     27|#define snprintf  upx_safe_snprintf
  ------------------
 2305|     27|                "bad fat_arch alignment 0x%x > 24", align);
 2306|     27|            throwCantPack(msg);
 2307|     27|        }
 2308|    225|        unsigned const mask = ~(~0u<<align);
 2309|    225|        unsigned const size = arch[j].size;
 2310|    225|        unsigned const offset = arch[j].offset;
 2311|    225|        if (align < 12 || align > 24) { // heuristic
  ------------------
  |  Branch (2311:13): [True: 3, False: 222]
  |  Branch (2311:27): [True: 0, False: 222]
  ------------------
 2312|      3|            throwUnknownExecutableFormat("align", 0);
 2313|      3|        }
 2314|    222|        if (mask > size) {
  ------------------
  |  Branch (2314:13): [True: 3, False: 219]
  ------------------
 2315|      3|            throwUnknownExecutableFormat("size", 0);
 2316|      3|        }
 2317|    219|        if (mask & offset
  ------------------
  |  Branch (2317:13): [True: 9, False: 210]
  ------------------
 2318|    210|        ||  (unsigned)fi->st_size_orig() < size + offset
  ------------------
  |  Branch (2318:13): [True: 31, False: 179]
  ------------------
 2319|    179|        ||  (unsigned)fi->st_size_orig() <= offset) {  // redundant unless overflow
  ------------------
  |  Branch (2319:13): [True: 24, False: 155]
  ------------------
 2320|     64|            throwUnknownExecutableFormat("offset", 0);
 2321|     64|        }
 2322|    219|    }
 2323|    141|    return nfat;
 2324|    238|}
_ZN11PackMachFat6unpackEP10OutputFile:
 2445|     20|{
 2446|     20|    if (fo) {  // test mode ("-t") sets fo = nullptr
  ------------------
  |  Branch (2446:9): [True: 20, False: 0]
  ------------------
 2447|     20|        fo->seek(0, SEEK_SET);
 2448|     20|        fo->write(&fat_head, sizeof(fat_head.fat) +
 2449|     20|            fat_head.fat.nfat_arch * sizeof(fat_head.arch[0]));
 2450|     20|    }
 2451|     20|    unsigned const nfat = check_fat_head();
 2452|     20|    unsigned length;
 2453|     20|    for (unsigned j=0; j < nfat; ++j) {
  ------------------
  |  Branch (2453:24): [True: 20, False: 0]
  ------------------
 2454|     20|        unsigned base = (fo ? fo->unset_extent() : 0);  // actual length
  ------------------
  |  Branch (2454:26): [True: 20, False: 0]
  ------------------
 2455|     20|        base += ~(~0u<<fat_head.arch[j].align) & (0-base);  // align up
 2456|     20|        if (fo) {
  ------------------
  |  Branch (2456:13): [True: 20, False: 0]
  ------------------
 2457|     20|            fo->seek(base, SEEK_SET);
 2458|     20|            fo->set_extent(base, ~0u);
 2459|     20|        }
 2460|       |
 2461|     20|        ph.u_file_size = fat_head.arch[j].size;
 2462|     20|        fi->set_extent(fat_head.arch[j].offset, fat_head.arch[j].size);
 2463|     20|        fi->seek(0, SEEK_SET);
 2464|     20|        switch (fat_head.arch[j].cputype) {
  ------------------
  |  Branch (2464:17): [True: 20, False: 0]
  ------------------
 2465|      5|        case PackMachFat::CPU_TYPE_I386: {
  ------------------
  |  Branch (2465:9): [True: 5, False: 15]
  ------------------
 2466|      5|            N_Mach::Mach_header<MachClass_LE32::MachITypes> hdr;
 2467|      5|            typedef N_Mach::Mach_header<MachClass_LE32::MachITypes> Mach_header;
 2468|      5|            fi->readx(&hdr, sizeof(hdr));
 2469|      5|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2469:17): [True: 3, False: 2]
  ------------------
 2470|      3|                PackMachI386 packer(fi);
 2471|      3|                packer.initPackHeader();
 2472|      3|                packer.canUnpack();
 2473|      3|                packer.unpack(fo);
 2474|      3|            }
 2475|      2|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2475:22): [True: 2, False: 0]
  ------------------
 2476|      2|                PackDylibI386 packer(fi);
 2477|      2|                packer.initPackHeader();
 2478|      2|                packer.canUnpack();
 2479|      2|                packer.unpack(fo);
 2480|      2|            }
 2481|      5|        } break;
 2482|     15|        case PackMachFat::CPU_TYPE_X86_64: {
  ------------------
  |  Branch (2482:9): [True: 15, False: 5]
  ------------------
 2483|     15|            N_Mach::Mach_header<MachClass_LE64::MachITypes> hdr;
 2484|     15|            typedef N_Mach::Mach_header<MachClass_LE64::MachITypes> Mach_header;
 2485|     15|            fi->readx(&hdr, sizeof(hdr));
 2486|     15|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2486:17): [True: 11, False: 4]
  ------------------
 2487|     11|                PackMachAMD64 packer(fi);
 2488|     11|                packer.initPackHeader();
 2489|     11|                packer.canUnpack();
 2490|     11|                packer.unpack(fo);
 2491|     11|            }
 2492|      4|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2492:22): [True: 4, False: 0]
  ------------------
 2493|      4|                PackDylibAMD64 packer(fi);
 2494|      4|                packer.initPackHeader();
 2495|      4|                packer.canUnpack();
 2496|      4|                packer.unpack(fo);
 2497|      4|            }
 2498|     15|        } break;
 2499|      0|        case PackMachFat::CPU_TYPE_POWERPC: {
  ------------------
  |  Branch (2499:9): [True: 0, False: 20]
  ------------------
 2500|      0|            N_Mach::Mach_header<MachClass_BE32::MachITypes> hdr;
 2501|      0|            typedef N_Mach::Mach_header<MachClass_BE32::MachITypes> Mach_header;
 2502|      0|            fi->readx(&hdr, sizeof(hdr));
 2503|      0|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2503:17): [True: 0, False: 0]
  ------------------
 2504|      0|                PackMachPPC32 packer(fi);
 2505|      0|                packer.initPackHeader();
 2506|      0|                packer.canUnpack();
 2507|      0|                packer.unpack(fo);
 2508|      0|            }
 2509|      0|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2509:22): [True: 0, False: 0]
  ------------------
 2510|      0|                PackDylibPPC32 packer(fi);
 2511|      0|                packer.initPackHeader();
 2512|      0|                packer.canUnpack();
 2513|      0|                packer.unpack(fo);
 2514|      0|            }
 2515|      0|        } break;
 2516|      0|        case PackMachFat::CPU_TYPE_POWERPC64: {
  ------------------
  |  Branch (2516:9): [True: 0, False: 20]
  ------------------
 2517|      0|            N_Mach::Mach_header<MachClass_LE64::MachITypes> hdr;
 2518|      0|            typedef N_Mach::Mach_header<MachClass_LE64::MachITypes> Mach_header;
 2519|      0|            fi->readx(&hdr, sizeof(hdr));
 2520|      0|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2520:17): [True: 0, False: 0]
  ------------------
 2521|      0|                PackMachPPC64 packer(fi);
 2522|      0|                packer.initPackHeader();
 2523|      0|                packer.canUnpack();
 2524|      0|                packer.unpack(fo);
 2525|      0|            }
 2526|      0|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2526:22): [True: 0, False: 0]
  ------------------
 2527|      0|                PackDylibPPC64 packer(fi);
 2528|      0|                packer.initPackHeader();
 2529|      0|                packer.canUnpack();
 2530|      0|                packer.unpack(fo);
 2531|      0|            }
 2532|      0|        } break;
 2533|     20|        }  // switch cputype
 2534|      0|        fat_head.arch[j].offset = base;
 2535|      0|        length = (fo ? fo->unset_extent() : 0);
  ------------------
  |  Branch (2535:19): [True: 0, False: 0]
  ------------------
 2536|      0|        fat_head.arch[j].size = length - base;
 2537|      0|    }
 2538|      0|    if (fo) {
  ------------------
  |  Branch (2538:9): [True: 0, False: 0]
  ------------------
 2539|      0|        fo->unset_extent();
 2540|       |        fo->seek(0, SEEK_SET);
 2541|      0|        fo->rewrite(&fat_head, sizeof(fat_head.fat) +
 2542|      0|            fat_head.fat.nfat_arch * sizeof(fat_head.arch[0]));
 2543|      0|    }
 2544|      0|}
_ZN11PackMachFat9canUnpackEv:
 2615|  6.71k|{
 2616|  6.71k|    struct Mach_fat_arch const *const arch = &fat_head.arch[0];
 2617|       |
 2618|  6.71k|    fi->readx(&fat_head, sizeof(fat_head));
 2619|  6.71k|    unsigned const nfat = check_fat_head();
 2620|  6.71k|    if (0 == nfat) {
  ------------------
  |  Branch (2620:9): [True: 6.49k, False: 217]
  ------------------
 2621|  6.49k|        return false;
 2622|  6.49k|    }
 2623|    241|    for (unsigned j=0; j < nfat; ++j) {
  ------------------
  |  Branch (2623:24): [True: 124, False: 117]
  ------------------
 2624|    124|        fi->set_extent(arch[j].offset, arch[j].size);
 2625|    124|        fi->seek(0, SEEK_SET);
 2626|    124|        switch (arch[j].cputype) {
 2627|     41|        default: return false;
  ------------------
  |  Branch (2627:9): [True: 41, False: 83]
  ------------------
 2628|     25|        case PackMachFat::CPU_TYPE_I386: {
  ------------------
  |  Branch (2628:9): [True: 25, False: 99]
  ------------------
 2629|     25|            PackMachI386 packer(fi);
 2630|     25|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2630:17): [True: 17, False: 8]
  ------------------
 2631|     17|                PackDylibI386 pack2r(fi);
 2632|     17|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2632:21): [True: 11, False: 6]
  ------------------
 2633|     11|                    return 0;
 2634|      6|                else
 2635|      6|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2636|     17|            }
 2637|      8|            else
 2638|      8|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2639|     25|        } break;
 2640|     44|        case PackMachFat::CPU_TYPE_X86_64: {
  ------------------
  |  Branch (2640:9): [True: 44, False: 80]
  ------------------
 2641|     44|            PackMachAMD64 packer(fi);
 2642|     44|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2642:17): [True: 26, False: 18]
  ------------------
 2643|     26|                PackDylibAMD64 pack2r(fi);
 2644|     26|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2644:21): [True: 10, False: 16]
  ------------------
 2645|     10|                    return 0;
 2646|     16|                else
 2647|     16|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2648|     26|            }
 2649|     18|            else
 2650|     18|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2651|     44|        } break;
 2652|     34|        case PackMachFat::CPU_TYPE_POWERPC: {
  ------------------
  |  Branch (2652:9): [True: 10, False: 114]
  ------------------
 2653|     10|            PackMachPPC32 packer(fi);
 2654|     10|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2654:17): [True: 9, False: 1]
  ------------------
 2655|      9|                PackDylibPPC32 pack2r(fi);
 2656|      9|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2656:21): [True: 8, False: 1]
  ------------------
 2657|      8|                    return 0;
 2658|      1|                else
 2659|      1|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2660|      9|            }
 2661|      1|            else
 2662|      1|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2663|     10|        } break;
 2664|      4|        case PackMachFat::CPU_TYPE_POWERPC64: {
  ------------------
  |  Branch (2664:9): [True: 4, False: 120]
  ------------------
 2665|      4|            PackMachPPC64 packer(fi);
 2666|      4|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2666:17): [True: 2, False: 2]
  ------------------
 2667|      2|                PackDylibPPC64 pack2r(fi);
 2668|      2|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2668:21): [True: 2, False: 0]
  ------------------
 2669|      2|                    return 0;
 2670|      0|                else
 2671|      0|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2672|      2|            }
 2673|      2|            else
 2674|      2|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2675|      4|        } break;
 2676|    124|        }  // switch cputype
 2677|    124|    }
 2678|    117|    return 1;
 2679|    217|}
p_mach.cpp:_ZL21is_bad_linker_commandjjjjj:
  193|  15.2k|{
  194|  15.2k|    cmd &= ~LC_REQ_DYLD;
  195|  15.2k|   return !cmd  // there is no LC_ cmd 0
  ------------------
  |  Branch (195:11): [True: 52, False: 15.2k]
  ------------------
  196|  15.2k|   || sizeof(lc_cmd_size) <= cmd  // beyond table of known sizes
  ------------------
  |  Branch (196:7): [True: 333, False: 14.9k]
  ------------------
  197|  14.9k|   || !lc_cmd_size[cmd]  // obsolete, or proper size not known to us
  ------------------
  |  Branch (197:7): [True: 5, False: 14.8k]
  ------------------
  198|  14.8k|   || !cmdsize || ((-1+ szAddr) & cmdsize)  // size not aligned
  ------------------
  |  Branch (198:7): [True: 11, False: 14.8k]
  |  Branch (198:19): [True: 59, False: 14.8k]
  ------------------
  199|  14.8k|   || headway < cmdsize  // not within header area
  ------------------
  |  Branch (199:7): [True: 122, False: 14.7k]
  ------------------
  200|  14.7k|   || (lc_seg == cmd  // lc_seg must have following lc_sections
  ------------------
  |  Branch (200:8): [True: 7.62k, False: 7.08k]
  ------------------
  201|  7.62k|       && (cmdsize - lc_seg_info[szAddr>>3].segcmdsize) %
  ------------------
  |  Branch (201:11): [True: 11, False: 7.61k]
  ------------------
  202|  7.62k|                     lc_seg_info[szAddr>>3].seccmdsize)
  203|  14.6k|   || (0 < lc_cmd_size[cmd] &&  lc_cmd_size[cmd] != (int)cmdsize)  // not known size
  ------------------
  |  Branch (203:8): [True: 1.49k, False: 13.1k]
  |  Branch (203:33): [True: 20, False: 1.47k]
  ------------------
  204|  14.6k|   || (0 > lc_cmd_size[cmd] && -lc_cmd_size[cmd]  > (int)cmdsize)  // below minimum size
  ------------------
  |  Branch (204:8): [True: 13.1k, False: 1.47k]
  |  Branch (204:32): [True: 6, False: 13.1k]
  ------------------
  205|  15.2k|   ;
  206|  15.2k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEEEED2Ev:
  235|      4|{
  236|      4|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEEEEC2EP9InputFilejjjjjj:
  219|      6|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|      6|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|      6|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|      6|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|      6|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|      6|{
  225|      6|    MachClass::compileTimeAssertions();
  226|      6|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|      6|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|      6|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|      6|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|      6|    memset(&linkitem, 0, sizeof(linkitem));
  231|      6|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEEEE9canUnpackEv:
 1633|      4|{
 1634|      4|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1635|      4|    fi->seek(0, SEEK_SET);
 1636|      4|    fi->readx(&mhdri, sizeof(mhdri));
 1637|       |
 1638|      4|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1638:9): [True: 2, False: 2]
  ------------------
 1639|      2|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1639:9): [True: 2, False: 0]
  ------------------
 1640|      0|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1640:9): [True: 0, False: 0]
  ------------------
 1641|      4|    )
 1642|      4|        return false;
 1643|      0|    my_cpusubtype = mhdri.cpusubtype;
 1644|       |
 1645|      0|    unsigned const ncmds = mhdri.ncmds;
 1646|      0|    int headway = (int)mhdri.sizeofcmds;
 1647|      0|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1470|      0|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1647:9): [True: 0, False: 0]
  |  Branch (1647:19): [True: 0, False: 0]
  |  Branch (1647:41): [True: 0, False: 0]
  ------------------
 1648|      0|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1648:10): [True: 0, False: 0]
  ------------------
 1649|      0|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1650|      0|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1651|      0|        throwCantUnpack(msg);
 1652|      0|    }
 1653|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1654|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1655|      0|    if ((2 == ncmds
  ------------------
  |  Branch (1655:10): [True: 0, False: 0]
  ------------------
 1656|      0|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1656:12): [True: 0, False: 0]
  ------------------
 1657|      0|    ||  (3 <= ncmds
  ------------------
  |  Branch (1657:10): [True: 0, False: 0]
  ------------------
 1658|      0|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1658:12): [True: 0, False: 0]
  ------------------
 1659|      0|                    + sizeof(Mach_main_command)))) {
 1660|      0|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1661|      0|        throwCantUnpack("file corrupted");
 1662|      0|    }
 1663|      0|    sz_mach_headers = headway + sizeof(mhdri);
 1664|      0|    if (2048 < headway) {
  ------------------
  |  Branch (1664:9): [True: 0, False: 0]
  ------------------
 1665|      0|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1666|      0|    }
 1667|      0|    if (!headway) {
  ------------------
  |  Branch (1667:9): [True: 0, False: 0]
  ------------------
 1668|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1669|      0|    }
 1670|      0|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1671|      0|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1672|      0|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1673|       |
 1674|      0|    Mach_segment_command const *ptrTEXT = nullptr;
 1675|      0|    upx_uint64_t rip = 0;
 1676|      0|    unsigned style = 0;
 1677|      0|    off_t offLINK = 0;
  ------------------
  |  |  216|      0|#define off_t upx_off_t
  ------------------
 1678|      0|    unsigned pos_next = 0;
 1679|      0|    unsigned nseg = 0;
 1680|      0|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1681|      0|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1681:25): [True: 0, False: 0]
  ------------------
 1682|      0|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1683|      0|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1683:13): [True: 0, False: 0]
  ------------------
 1684|      0|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1685|      0|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1686|      0|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1687|      0|            throwCantPack(buf);
 1688|      0|        }
 1689|      0|        unsigned const cmd = ptr->cmd;
 1690|      0|        unsigned const cmdsize = ptr->cmdsize;
 1691|      0|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1691:13): [True: 0, False: 0]
  ------------------
 1692|      0|                opt->info_mode += 1;
 1693|      0|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1694|      0|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1695|      0|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1696|      0|                opt->info_mode -= 1;
 1697|      0|                throwCantUnpack("file corrupted");
 1698|      0|        }
 1699|      0|        headway -= cmdsize;
 1700|      0|        if (headway < 0) {
  ------------------
  |  Branch (1700:13): [True: 0, False: 0]
  ------------------
 1701|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1702|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1703|      0|                (unsigned)ptr->cmdsize);
 1704|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1705|      0|        }
 1706|      0|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1706:13): [True: 0, False: 0]
  ------------------
 1707|      0|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1708|      0|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1708:17): [True: 0, False: 0]
  ------------------
 1709|      0|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1709:17): [True: 0, False: 0]
  ------------------
 1710|      0|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1710:17): [True: 0, False: 0]
  ------------------
 1711|      0|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1712|      0|                      "  filesize=0x%lx  fileoff=0x%lx",
 1713|      0|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1714|      0|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1715|      0|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1716|      0|                throwCantUnpack("file corrupted");
 1717|      0|            }
 1718|      0|            ++nseg;
 1719|      0|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1719:17): [True: 0, False: 0]
  ------------------
 1720|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1721|      0|                style = 391;  // UPX 3.91
 1722|      0|            }
 1723|      0|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1723:17): [True: 0, False: 0]
  ------------------
 1724|      0|                ptrTEXT = segptr;
 1725|      0|                style = 391;  // UPX 3.91
 1726|      0|            }
 1727|      0|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1727:17): [True: 0, False: 0]
  ------------------
 1728|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1729|      0|                style = 392;  // UPX 3.92
 1730|      0|            }
 1731|      0|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1731:17): [True: 0, False: 0]
  ------------------
 1732|      0|                offLINK = segptr->fileoff;
 1733|      0|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1733:21): [True: 0, False: 0]
  ------------------
 1734|      0|                    style = 395;
 1735|      0|                }
 1736|      0|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1736:21): [True: 0, False: 0]
  ------------------
 1737|      0|                    offLINK = pos_next;
 1738|      0|                }
 1739|      0|            }
 1740|      0|            pos_next = segptr->filesize + segptr->fileoff;
 1741|      0|        }
 1742|      0|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1742:18): [True: 0, False: 0]
  ------------------
 1743|      0|            rip = entryVMA = threadc_getPC(ptr);
 1744|      0|        }
 1745|      0|    }
 1746|      0|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1746:9): [True: 0, False: 0]
  |  Branch (1746:20): [True: 0, False: 0]
  ------------------
 1747|      0|        style = 392;
 1748|      0|    }
 1749|      0|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1749:9): [True: 0, False: 0]
  |  Branch (1749:23): [True: 0, False: 0]
  |  Branch (1749:37): [True: 0, False: 0]
  |  Branch (1749:49): [True: 0, False: 0]
  ------------------
 1750|      0|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1751|      0|    }
 1752|      0|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1752:9): [True: 0, False: 0]
  |  Branch (1752:23): [True: 0, False: 0]
  ------------------
 1753|      0|        return false;
 1754|      0|    }
 1755|       |
 1756|      0|    int const small = 32 + sizeof(overlay_offset);
 1757|      0|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1758|      0|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1758:9): [True: 0, False: 0]
  ------------------
 1759|      0|        fi->seek(offLINK - bufsize, SEEK_SET);
 1760|      0|    } else
 1761|      0|    if (392 == style) {
  ------------------
  |  Branch (1761:9): [True: 0, False: 0]
  ------------------
 1762|      0|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1762:13): [True: 0, False: 0]
  ------------------
 1763|      0|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1764|      0|        }
 1765|      0|        else { // PackHeader follows loader at __LINKEDIT
 1766|      0|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1766:17): [True: 0, False: 0]
  ------------------
 1767|      0|                bufsize = fi->st_size() - offLINK;
 1768|      0|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1768:21): [True: 0, False: 0]
  ------------------
 1769|      0|                    throwCantUnpack("bad offLINK %p %p",
 1770|      0|                        (void *)offLINK, (void *)file_size);
 1771|      0|                }
 1772|      0|            }
 1773|      0|            fi->seek(offLINK, SEEK_SET);
 1774|      0|        }
 1775|      0|    } else
 1776|      0|    if (395 == style) {
  ------------------
  |  Branch (1776:9): [True: 0, False: 0]
  ------------------
 1777|      0|        fi->seek(offLINK - bufsize, SEEK_SET);
 1778|      0|    }
 1779|      0|    MemBuffer buf(bufsize);
 1780|      0|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1781|      0|    buf3.clear();
 1782|       |
 1783|      0|    fi->readx(buf, bufsize);
 1784|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1785|       |
 1786|      0|    int i = bufsize;
 1787|      0|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1787:12): [True: 0, False: 0]
  |  Branch (1787:25): [True: 0, False: 0]
  ------------------
 1788|      0|    i -= small;
 1789|       |    // allow incompressible extents
 1790|      0|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1790:9): [True: 0, False: 0]
  |  Branch (1790:18): [True: 0, False: 0]
  ------------------
 1791|       |        // Breadcrumbs failed.
 1792|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1793|      0|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1793:38): [True: 0, False: 0]
  ------------------
 1794|      0|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1794:13): [True: 0, False: 0]
  |  Branch (1794:24): [True: 0, False: 0]
  |  Branch (1794:31): [True: 0, False: 0]
  ------------------
 1795|      0|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1796|      0|            fi->readx(buf3, bufsize);
 1797|      0|            unsigned char const *b = &buf3[0];
 1798|      0|            unsigned disp = *(TE32 const *)&b[1];
 1799|      0|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1799:17): [True: 0, False: 0]
  ------------------
 1800|      0|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1800:21): [True: 0, False: 0]
  |  Branch (1800:35): [True: 0, False: 0]
  ------------------
 1801|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1802|       |                    // searching for "executable_path=" etc.
 1803|      0|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1803:21): [True: 0, False: 0]
  |  Branch (1803:40): [True: 0, False: 0]
  ------------------
 1804|      0|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1805|      0|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1805:25): [True: 0, False: 0]
  |  Branch (1805:46): [True: 0, False: 0]
  ------------------
 1806|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1807|       |                        // This is the folded stub.
 1808|       |                        // FIXME: check b_method?
 1809|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000) {
  ------------------
  |  Branch (1809:29): [True: 0, False: 0]
  |  Branch (1809:60): [True: 0, False: 0]
  ------------------
 1810|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1811|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1812|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1813|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1813:33): [True: 0, False: 0]
  ------------------
 1814|      0|                                return true;  // success
 1815|      0|                            }
 1816|      0|                            overlay_offset = 0;  // failure
 1817|      0|                        }
 1818|      0|                    }
 1819|      0|                }
 1820|      0|            }
 1821|      0|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1821:17): [True: 0, False: 0]
  ------------------
 1822|      0|                infoWarning("file corrupted: %s", fi->getName());
 1823|      0|                fi->seek(file_size - bufsize, SEEK_SET);
 1824|      0|                fi->readx(buf3, bufsize);
 1825|      0|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1826|      0|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1826:24): [True: 0, False: 0]
  ------------------
 1827|      0|                    unsigned x = *p;
 1828|      0|                    if (x) {
  ------------------
  |  Branch (1828:25): [True: 0, False: 0]
  ------------------
 1829|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1829:29): [True: 0, False: 0]
  |  Branch (1829:40): [True: 0, False: 0]
  ------------------
 1830|      0|                            fi->seek(0, SEEK_SET);
 1831|      0|                            fi->readx(buf3, bufsize);
 1832|      0|                            p = (unsigned const *)&buf3[x];
 1833|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1833:33): [True: 0, False: 0]
  |  Branch (1833:46): [True: 0, False: 0]
  |  Branch (1833:59): [True: 0, False: 0]
  ------------------
 1834|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1834:33): [True: 0, False: 0]
  |  Branch (1834:59): [True: 0, False: 0]
  ------------------
 1835|      0|                            ) {
 1836|      0|                                overlay_offset = x;
 1837|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1838|      0|                                    overlay_offset);
 1839|      0|                                return true;
 1840|      0|                            }
 1841|      0|                        }
 1842|      0|                        break;
 1843|      0|                    }
 1844|      0|                }
 1845|      0|            }
 1846|      0|        }
 1847|      0|        if (391==style) {
  ------------------
  |  Branch (1847:13): [True: 0, False: 0]
  ------------------
 1848|      0|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1849|      0|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1849:20): [True: 0, False: 0]
  ------------------
 1850|      0|            overlay_offset = *uptr;
 1851|      0|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1851:17): [True: 0, False: 0]
  |  Branch (1851:55): [True: 0, False: 0]
  ------------------
 1852|      0|                return true;  // success
 1853|      0|            }
 1854|      0|            overlay_offset = 0;
 1855|      0|            return false;
 1856|      0|        }
 1857|      0|        if (392==style) {
  ------------------
  |  Branch (1857:13): [True: 0, False: 0]
  ------------------
 1858|      0|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1859|       |            // p_info isn't used for execution, so it has less value for checking:
 1860|       |            //      0== .p_progid
 1861|       |            //      .p_filesize == .p_blocksize
 1862|      0|            fi->seek(overlay_offset, SEEK_SET);
 1863|      0|            fi->readx(buf3, bufsize);
 1864|      0|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1865|      0|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1866|      0|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1867|      0|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1867:17): [True: 0, False: 0]
  ------------------
 1868|      0|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1868:17): [True: 0, False: 0]
  ------------------
 1869|      0|                unsigned const method = b_ptr->b_method;
 1870|      0|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  614|      0|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  620|      0|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1870:22): [True: 0, False: 0]
  |  Branch (1870:48): [True: 0, False: 0]
  ------------------
 1871|      0|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1871:21): [True: 0, False: 0]
  ------------------
 1872|      0|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1872:21): [True: 0, False: 0]
  ------------------
 1873|      0|                    return true;
 1874|      0|                }
 1875|      0|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1876|      0|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  615|      0|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  621|      0|#define M_NRV2E_8     9
  ------------------
  |  Branch (1876:22): [True: 0, False: 0]
  |  Branch (1876:45): [True: 0, False: 0]
  ------------------
 1877|      0|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1877:20): [True: 0, False: 0]
  ------------------
 1878|      0|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1878:21): [True: 0, False: 0]
  ------------------
 1879|      0|                    return true;
 1880|      0|                }
 1881|       |                // FIXME: M_LZMA
 1882|      0|            }
 1883|       |
 1884|      0|            overlay_offset = 0;
 1885|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1886|       |            // is the total length of compressed data which precedes it
 1887|       |            //(distance to l_info), so that's another method.
 1888|      0|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1889|      0|            fi->readx(buf3, 0x1000);
 1890|      0|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1891|      0|            unsigned const *p;
 1892|      0|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1892:55): [True: 0, False: 0]
  |  Branch (1892:69): [True: 0, False: 0]
  ------------------
 1893|      0|                overlay_offset  = *(TE32 const *)p;
 1894|      0|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1894:21): [True: 0, False: 0]
  ------------------
 1895|      0|                    throwCantUnpack("file corrupted");
 1896|      0|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1896:21): [True: 0, False: 0]
  ------------------
 1897|      0|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1898|      0|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1899|      0|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1899:25): [True: 0, False: 0]
  ------------------
 1900|      0|                        throwCantUnpack("file corrupted");
 1901|      0|                    fi->seek(overlay_offset, SEEK_SET);
 1902|      0|                    fi->readx(buf3, bufsize);
 1903|      0|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1903:25): [True: 0, False: 0]
  ------------------
 1904|      0|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1904:25): [True: 0, False: 0]
  ------------------
 1905|      0|                        return true;
 1906|      0|                    }
 1907|      0|                }
 1908|      0|            }
 1909|      0|        }
 1910|      0|    }
 1911|       |
 1912|      0|    overlay_offset = 0;  // impossible value
 1913|      0|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1914|      0|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1914:9): [True: 0, False: 0]
  |  Branch (1914:19): [True: 0, False: 0]
  ------------------
 1915|      0|        overlay_offset = get_te32(buf + i + l);
 1916|      0|    }
 1917|      0|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1917:16): [True: 0, False: 0]
  ------------------
 1918|      0|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1918:9): [True: 0, False: 0]
  ------------------
 1919|      0|        infoWarning("file corrupted: %s", fi->getName());
 1920|      0|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1921|      0|        fi->seek(sz_mach_headers, SEEK_SET);
 1922|      0|        fi->readx(buf2, buf2.getSize());
 1923|      0|        unsigned const *p = (unsigned const *)&buf2[0];
 1924|      0|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1925|      0|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1925:16): [True: 0, False: 0]
  ------------------
 1926|      0|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1926:16): [True: 0, False: 0]
  ------------------
 1927|      0|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1927:16): [True: 0, False: 0]
  ------------------
 1928|      0|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1928:13): [True: 0, False: 0]
  ------------------
 1929|      0|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1929:13): [True: 0, False: 0]
  ------------------
 1930|      0|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1930:13): [True: 0, False: 0]
  ------------------
 1931|      0|        ) {
 1932|      0|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1933|      0|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1933:19): [True: 0, False: 0]
  ------------------
 1934|      0|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1934:31): [True: 0, False: 0]
  ------------------
 1935|      0|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1935:24): [True: 0, False: 0]
  ------------------
 1936|      0|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1937|      0|                return true;
 1938|      0|            }
 1939|      0|        }
 1940|      0|        throwCantUnpack("file corrupted");
 1941|      0|    }
 1942|      0|    return true;
 1943|      0|}

_ZNK12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEE10getVersionEv:
  742|  5.30k|    virtual int getVersion() const override { return 13; }
_ZNK12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEE10getVersionEv:
  742|  8.73k|    virtual int getVersion() const override { return 13; }
_ZNK12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE10getVersionEv:
  742|  14.2k|    virtual int getVersion() const override { return 13; }
_ZNK13PackDylibI3869getFormatEv:
 1058|      8|    virtual int getFormat() const override { return UPX_F_DYLIB_i386; }
  ------------------
  |  |  583|      8|#define UPX_F_DYLIB_i386          33
  ------------------
_ZNK12PackMachI3869getFormatEv:
 1006|  4.63k|    virtual int getFormat() const override { return UPX_F_MACH_i386; }
  ------------------
  |  |  579|  4.63k|#define UPX_F_MACH_i386           29
  ------------------
_ZNK14PackDylibAMD649getFormatEv:
 1126|  5.34k|    virtual int getFormat() const override { return UPX_F_DYLIB_AMD64; }
  ------------------
  |  |  585|  5.34k|#define UPX_F_DYLIB_AMD64         35
  ------------------
_ZNK13PackMachAMD649getFormatEv:
 1073|  4.56k|    virtual int getFormat() const override { return UPX_F_MACH_AMD64; }
  ------------------
  |  |  584|  4.56k|#define UPX_F_MACH_AMD64          34
  ------------------
_ZNK13PackMachPPC329getFormatEv:
  871|  5.30k|    virtual int getFormat() const override { return UPX_F_MACH_PPC32; }
  ------------------
  |  |  600|  5.30k|#define UPX_F_MACH_PPC32        131
  ------------------
_ZN12PackMachI38613threadc_getPCEPKv:
 1039|    211|    upx_uint64_t threadc_getPC(void const *ptr)  override{
 1040|    211|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1041|    211|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1041:13): [True: 0, False: 211]
  ------------------
 1042|    211|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1042:13): [True: 68, False: 143]
  ------------------
 1043|    143|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1043:13): [True: 49, False: 94]
  ------------------
 1044|    189|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1044:13): [True: 72, False: 22]
  ------------------
 1045|    189|            return ~0ull;
 1046|    189|        }
 1047|     22|        return tc->state.eip;
 1048|    211|    }
_ZNK13PackMachAMD647getNameEv:
 1074|      1|    virtual const char *getName() const override { return "macho/amd64"; }
_ZN13PackMachAMD6413threadc_getPCEPKv:
 1107|    469|    upx_uint64_t threadc_getPC(void const *ptr) override {
 1108|    469|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1109|    469|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1109:13): [True: 0, False: 469]
  ------------------
 1110|    469|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1110:13): [True: 106, False: 363]
  ------------------
 1111|    363|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1111:13): [True: 105, False: 258]
  ------------------
 1112|    306|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1112:13): [True: 95, False: 163]
  ------------------
 1113|    306|            return ~0ull;
 1114|    306|        }
 1115|    163|        return tc->state.rip;
 1116|    469|    }
_ZN13PackMachPPC3213threadc_getPCEPKv:
  905|    292|    upx_uint64_t threadc_getPC(void const *ptr) override {
  906|    292|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
  907|    292|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (907:13): [True: 0, False: 292]
  ------------------
  908|    292|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (908:13): [True: 133, False: 159]
  ------------------
  909|    159|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (909:13): [True: 71, False: 88]
  ------------------
  910|    250|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (910:13): [True: 46, False: 42]
  ------------------
  911|    250|            return ~0ull;
  912|    250|        }
  913|     42|        return tc->state.srr0;
  914|    292|    }
_ZNK13PackMachARMEL9getFormatEv:
 1141|  4.09k|    virtual int getFormat() const override { return UPX_F_MACH_ARM; }
  ------------------
  |  |  582|  4.09k|#define UPX_F_MACH_ARM            32
  ------------------
_ZN13PackMachARMEL13threadc_getPCEPKv:
 1175|    534|    upx_uint64_t threadc_getPC(void const *ptr) override {
 1176|    534|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1177|    534|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1177:13): [True: 0, False: 534]
  ------------------
 1178|    534|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1178:13): [True: 416, False: 118]
  ------------------
 1179|    118|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1179:13): [True: 61, False: 57]
  ------------------
 1180|    518|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1180:13): [True: 41, False: 16]
  ------------------
 1181|    518|            return ~0ull;
 1182|    518|        }
 1183|     16|        return tc->state.pc;
 1184|    534|    }
_ZNK15PackMachARM64EL9getFormatEv:
 1194|  4.34k|    virtual int getFormat() const override { return UPX_F_MACH_ARM64; }
  ------------------
  |  |  587|  4.34k|#define UPX_F_MACH_ARM64          37
  ------------------
_ZNK15PackMachARM64EL7getNameEv:
 1195|      1|    virtual const char *getName() const override { return "macho/arm64"; }
_ZN15PackMachARM64EL13threadc_getPCEPKv:
 1227|    120|    upx_uint64_t threadc_getPC(void const *ptr) override {
 1228|    120|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1229|    120|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1229:13): [True: 0, False: 120]
  ------------------
 1230|    120|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1230:13): [True: 64, False: 56]
  ------------------
 1231|     56|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1231:13): [True: 44, False: 12]
  ------------------
 1232|    109|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1232:13): [True: 1, False: 11]
  ------------------
 1233|    109|            return ~0ull;
 1234|    109|        }
 1235|     11|        return tc->state.pc;
 1236|    120|    }
_ZNK11PackMachFat10getVersionEv:
 1246|  6.71k|    virtual int getVersion() const override { return 13; }
_ZNK11PackMachFat9getFormatEv:
 1247|  6.71k|    virtual int getFormat() const override { return UPX_F_MACH_FAT; }
  ------------------
  |  |  603|  6.71k|#define UPX_F_MACH_FAT          134
  ------------------
_ZN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEE21compileTimeAssertionsEv:
  577|      4|    static void compileTimeAssertions() {
  578|      4|        BeLePolicy::compileTimeAssertions();
  579|      4|        COMPILE_TIME_ASSERT(sizeof(Addr) == 8)
  ------------------
  |  |  247|      4|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|      4|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  580|      4|    }
_ZN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEE21compileTimeAssertionsEv:
  535|  5.31k|    static void compileTimeAssertions() {
  536|  5.31k|        BeLePolicy::compileTimeAssertions();
  537|  5.31k|        COMPILE_TIME_ASSERT(sizeof(Addr) == 4)
  ------------------
  |  |  247|  5.31k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  5.31k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  538|  5.31k|    }
_ZN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEE21compileTimeAssertionsEv:
  535|  8.75k|    static void compileTimeAssertions() {
  536|  8.75k|        BeLePolicy::compileTimeAssertions();
  537|  8.75k|        COMPILE_TIME_ASSERT(sizeof(Addr) == 4)
  ------------------
  |  |  247|  8.75k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  8.75k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  538|  8.75k|    }
_ZN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEE21compileTimeAssertionsEv:
  577|  13.4k|    static void compileTimeAssertions() {
  578|  13.4k|        BeLePolicy::compileTimeAssertions();
  579|  13.4k|        COMPILE_TIME_ASSERT(sizeof(Addr) == 8)
  ------------------
  |  |  247|  13.4k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  13.4k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  580|  13.4k|    }

_ZN7PackPs1C2EP9InputFile:
   80|  2.54k|    : super(f), isCon(!opt->ps1_exe.boot_only), is32Bit(!opt->ps1_exe.do_8bit) {
   81|  2.54k|    bele = &N_BELE_RTP::le_policy;
   82|       |
   83|  2.54k|    COMPILE_TIME_ASSERT(sizeof(ps1_exe_t) == 136)
  ------------------
  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   84|  2.54k|    COMPILE_TIME_ASSERT(sizeof(ps1_exe_hb_t) == 44)
  ------------------
  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   85|  2.54k|    COMPILE_TIME_ASSERT(sizeof(ps1_exe_chb_t) == 5)
  ------------------
  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   86|  2.54k|    COMPILE_TIME_ASSERT_ALIGNED1(ps1_exe_t)
  ------------------
  |  |  446|  2.54k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  2.54k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  2.54k|    {                                                                                              \
  |  |  |  |  |  |  429|  2.54k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  2.54k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  2.54k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  2.54k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  2.54k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  2.54k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  2.54k|        };                                                                                         \
  |  |  |  |  |  |  436|  2.54k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  2.54k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  2.54k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  2.54k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  2.54k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  2.54k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  2.54k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  2.54k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   87|  2.54k|    COMPILE_TIME_ASSERT_ALIGNED1(ps1_exe_hb_t)
  ------------------
  |  |  446|  2.54k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  2.54k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  2.54k|    {                                                                                              \
  |  |  |  |  |  |  429|  2.54k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  2.54k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  2.54k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  2.54k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  2.54k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  2.54k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  2.54k|        };                                                                                         \
  |  |  |  |  |  |  436|  2.54k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  2.54k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  2.54k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  2.54k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  2.54k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  2.54k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  2.54k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  2.54k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   88|  2.54k|    COMPILE_TIME_ASSERT_ALIGNED1(ps1_exe_chb_t)
  ------------------
  |  |  446|  2.54k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  2.54k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  2.54k|    {                                                                                              \
  |  |  |  |  |  |  429|  2.54k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  2.54k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  2.54k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  2.54k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  2.54k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  2.54k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  2.54k|        };                                                                                         \
  |  |  |  |  |  |  436|  2.54k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  2.54k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  2.54k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  2.54k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  2.54k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  2.54k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  2.54k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  2.54k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   89|       |
   90|  2.54k|    COMPILE_TIME_ASSERT(PS_HDR_SIZE > sizeof(ps1_exe_t))
  ------------------
  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   91|  2.54k|    COMPILE_TIME_ASSERT(SZ_IH_BKUP == 40)
  ------------------
  |  |  247|  2.54k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.54k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   92|       |
   93|  2.54k|    fdata_size = file_size - PS_HDR_SIZE;
  ------------------
  |  |   45|  2.54k|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|  2.54k|#define CD_SEC        2048
  |  |  ------------------
  ------------------
   94|  2.54k|    ram_size = !opt->ps1_exe.do_8mib ? 0x200000 : 0x800000;
  ------------------
  |  Branch (94:16): [True: 2.54k, False: 0]
  ------------------
   95|  2.54k|}
_ZN7PackPs114readFileHeaderEv:
  114|  2.54k|int PackPs1::readFileHeader() {
  115|  2.54k|    fi->seek(0, SEEK_SET);
  116|  2.54k|    fi->readx(&ih, sizeof(ih));
  117|  2.54k|    if (memcmp(&ih.id[0], "PS-X EXE", 8) != 0 && memcmp(&ih.id[0], "EXE X-SP", 8) != 0)
  ------------------
  |  Branch (117:9): [True: 2.51k, False: 29]
  |  Branch (117:50): [True: 2.39k, False: 120]
  ------------------
  118|  2.39k|        return 0;
  119|    149|    if (ih.text != 0 || ih.data != 0)
  ------------------
  |  Branch (119:9): [True: 31, False: 118]
  |  Branch (119:25): [True: 28, False: 90]
  ------------------
  120|     59|        return 0;
  121|     90|    return UPX_F_PS1_EXE;
  ------------------
  |  |  568|     90|#define UPX_F_PS1_EXE             18
  ------------------
  122|    149|}
_ZN7PackPs114readBkupHeaderEv:
  124|     74|bool PackPs1::readBkupHeader() {
  125|     74|    fi->seek(sizeof(ps1_exe_t) + 8, SEEK_SET);
  126|     74|    fi->readx(&bh, sizeof(bh));
  127|       |
  128|     74|    if (bh.ih_csum != upx_adler32(&bh, SZ_IH_BKUP)) {
  ------------------
  |  |   51|     74|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  |  Branch (128:9): [True: 25, False: 49]
  ------------------
  129|     25|        byte buf[sizeof(bh)];
  130|     25|        fi->seek(sizeof(ps1_exe_t), SEEK_SET);
  131|     25|        fi->readx(buf, sizeof(bh));
  132|     25|        if (!getBkupHeader(buf, (byte *) &bh))
  ------------------
  |  Branch (132:13): [True: 22, False: 3]
  ------------------
  133|     22|            return false;
  134|     25|    }
  135|     52|    return true;
  136|     74|}
_ZN7PackPs113getBkupHeaderEPhS0_:
  170|     25|bool PackPs1::getBkupHeader(byte *p, byte *dst) {
  171|     25|    ps1_exe_chb_t *src = (ps1_exe_chb_t *) p;
  172|       |
  173|     25|    if (src && (src->id == '1' && src->len < SZ_IH_BKUP) && dst) {
  ------------------
  |  |   51|      5|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  |  Branch (173:9): [True: 25, False: 0]
  |  Branch (173:17): [True: 5, False: 20]
  |  Branch (173:35): [True: 3, False: 2]
  |  Branch (173:61): [True: 3, False: 0]
  ------------------
  174|      3|        ByteArray(unc_bh, MemBuffer::getSizeForDecompression(SZ_IH_BKUP));
  ------------------
  |  |  476|      3|#define ByteArray(var, n) Array(byte, var, (n))
  |  |  ------------------
  |  |  |  |  473|      3|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  |  |  474|      3|    type *const var = ACC_STATIC_CAST(type *, var##_membuf.getVoidPtr())
  |  |  |  |  ------------------
  |  |  |  |  |  | 1472|      3|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  175|       |
  176|      3|        unsigned sz_bh = SZ_IH_BKUP;
  ------------------
  |  |   51|      3|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  177|      3|        int r = upx_decompress((const byte *) &src->ih_bkup, src->len, unc_bh, &sz_bh, M_NRV2E_8,
  ------------------
  |  |  621|      3|#define M_NRV2E_8     9
  ------------------
  178|      3|                               nullptr);
  179|      3|        if (r == UPX_E_OUT_OF_MEMORY)
  ------------------
  |  |  540|      3|#define UPX_E_OUT_OF_MEMORY       (-2)
  ------------------
  |  Branch (179:13): [True: 0, False: 3]
  ------------------
  180|      0|            throwOutOfMemoryException();
  181|      3|        if (r != UPX_E_OK || sz_bh != SZ_IH_BKUP)
  ------------------
  |  |  538|      6|#define UPX_E_OK                  (0)
  ------------------
                      if (r != UPX_E_OK || sz_bh != SZ_IH_BKUP)
  ------------------
  |  |   51|      0|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  |  Branch (181:13): [True: 3, False: 0]
  |  Branch (181:30): [True: 0, False: 0]
  ------------------
  182|      3|            throwInternalError("header decompression failed");
  183|      0|        unsigned ad = upx_adler32(unc_bh, SZ_IH_BKUP);
  ------------------
  |  |   51|      0|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  184|      0|        unsigned ch = src->ih_csum;
  185|      0|        if (ad != RE_ADLER16(ad, ch))
  ------------------
  |  |  168|      0|#define RE_ADLER16(a, b) (ADLER16_HI(a, b) | ADLER16_LO(a, b))
  |  |  ------------------
  |  |  |  |  166|      0|#define ADLER16_HI(a, b) ((((a) &0xffff) ^ (b)) << 16)
  |  |  ------------------
  |  |               #define RE_ADLER16(a, b) (ADLER16_HI(a, b) | ADLER16_LO(a, b))
  |  |  ------------------
  |  |  |  |  167|      0|#define ADLER16_LO(a, b) (((a) >> 16) ^ (b))
  |  |  ------------------
  ------------------
  |  Branch (185:13): [True: 0, False: 0]
  ------------------
  186|      0|            throwInternalError("backup header damaged");
  187|      0|        memcpy(dst, unc_bh, SZ_IH_BKUP);
  ------------------
  |  |   51|      0|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  188|      0|    } else
  189|     22|        return false;
  190|      0|    return true;
  191|     25|}
_ZN7PackPs115checkFileHeaderEv:
  193|     48|bool PackPs1::checkFileHeader() {
  194|     48|    if (fdata_size != ih.tx_len || (ih.tx_len & 3)) {
  ------------------
  |  Branch (194:9): [True: 40, False: 8]
  |  Branch (194:36): [True: 1, False: 7]
  ------------------
  195|     41|        if (!opt->force)
  ------------------
  |  Branch (195:13): [True: 41, False: 0]
  ------------------
  196|     41|            throwCantPack("file size entry damaged (try --force)");
  197|      0|        else {
  198|      0|            opt->info_mode += !opt->info_mode ? 1 : 0;
  ------------------
  |  Branch (198:31): [True: 0, False: 0]
  ------------------
  199|      0|            infoWarning("fixing damaged header, keeping backup file");
  200|      0|            opt->backup = 1;
  201|      0|            ih.tx_len = fdata_size;
  202|      0|        }
  203|     41|    }
  204|      7|    if (!opt->force && (ih.da_ptr != 0 || ih.da_len != 0 || ih.bs_ptr != 0 || ih.bs_len != 0)) {
  ------------------
  |  Branch (204:9): [True: 7, False: 0]
  |  Branch (204:25): [True: 1, False: 6]
  |  Branch (204:43): [True: 1, False: 5]
  |  Branch (204:61): [True: 1, False: 4]
  |  Branch (204:79): [True: 1, False: 3]
  ------------------
  205|      4|        infoWarning("unsupported header field entry");
  206|      4|        return false;
  207|      4|    }
  208|      3|    if (ih.is_ptr < (EXE_BS | (PS_RAM_SIZE - PS_STACK_SIZE))) {
  ------------------
  |  |   56|      3|#define EXE_BS   (ih.epc & K0_BS)
  |  |  ------------------
  |  |  |  |   54|      3|#define K0_BS    (0x80000000)
  |  |  ------------------
  ------------------
                  if (ih.is_ptr < (EXE_BS | (PS_RAM_SIZE - PS_STACK_SIZE))) {
  ------------------
  |  |   46|      3|#define PS_RAM_SIZE   ram_size
  ------------------
                  if (ih.is_ptr < (EXE_BS | (PS_RAM_SIZE - PS_STACK_SIZE))) {
  ------------------
  |  |   49|      3|#define PS_STACK_SIZE (PS_RAM_SIZE / 256)
  |  |  ------------------
  |  |  |  |   46|      3|#define PS_RAM_SIZE   ram_size
  |  |  ------------------
  ------------------
  |  Branch (208:9): [True: 1, False: 2]
  ------------------
  209|      1|        if (!opt->force)
  ------------------
  |  Branch (209:13): [True: 1, False: 0]
  ------------------
  210|      1|            return false;
  211|      0|        else
  212|      0|            infoWarning("%s: stack pointer offset low", fi->getName());
  213|      1|    }
  214|      2|    return true;
  215|      3|}
_ZN7PackPs19canUnpackEv:
  615|  2.54k|tribool PackPs1::canUnpack() {
  616|  2.54k|    if (!readFileHeader())
  ------------------
  |  Branch (616:9): [True: 2.45k, False: 90]
  ------------------
  617|  2.45k|        return false;
  618|     90|    if (!readPackHeader(CD_SEC))
  ------------------
  |  |   44|     90|#define CD_SEC        2048
  ------------------
  |  Branch (618:9): [True: 12, False: 78]
  ------------------
  619|     12|        return false;
  620|       |    // check header as set by packer
  621|     78|    if (!readBkupHeader() || ph.c_len >= fdata_size)
  ------------------
  |  Branch (621:9): [True: 29, False: 49]
  |  Branch (621:30): [True: 1, False: 48]
  ------------------
  622|     23|        throwCantUnpack("header damaged");
  623|       |    // generic check
  624|     55|    if (!checkFileHeader())
  ------------------
  |  Branch (624:9): [True: 5, False: 50]
  ------------------
  625|      5|        throwCantUnpack("unsupported header flags");
  626|     50|    return true;
  627|     55|}
_ZN7PackPs16unpackEP10OutputFile:
  633|      2|void PackPs1::unpack(OutputFile *fo) {
  634|       |    // restore orig exec hdr
  635|      2|    memcpy(&oh, &ih, sizeof(ih));
  636|      2|    memcpy((void *) &oh.epc, &bh, SZ_IH_BKUP);
  ------------------
  |  |   51|      2|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  637|       |
  638|       |    // check for removed sector alignment
  639|      2|    assert(oh.tx_len >= ph.u_len);
  ------------------
  |  |  493|      2|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      4|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 2, False: 0]
  |  |  ------------------
  ------------------
  640|      0|    const unsigned pad = oh.tx_len - ph.u_len;
  641|       |
  642|      2|    ibuf.alloc(fdata_size > PS_HDR_SIZE ? fdata_size : PS_HDR_SIZE);
  ------------------
  |  |   45|      2|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|      2|#define CD_SEC        2048
  |  |  ------------------
  ------------------
                  ibuf.alloc(fdata_size > PS_HDR_SIZE ? fdata_size : PS_HDR_SIZE);
  ------------------
  |  |   45|      2|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|      4|#define CD_SEC        2048
  |  |  ------------------
  ------------------
  |  Branch (642:16): [True: 0, False: 2]
  ------------------
  643|      2|    obuf.allocForDecompression(ph.u_len, pad);
  644|       |
  645|      2|    fi->seek(PS_HDR_SIZE, SEEK_SET);
  ------------------
  |  |   45|      2|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|      2|#define CD_SEC        2048
  |  |  ------------------
  ------------------
  646|      2|    fi->readx(ibuf, fdata_size);
  647|       |
  648|       |    // decompress
  649|      2|    decompress(ibuf + (fdata_size - ph.c_len), obuf);
  650|       |
  651|       |    // write decompressed file
  652|      2|    if (fo) {
  ------------------
  |  Branch (652:9): [True: 0, False: 2]
  ------------------
  653|       |        // write header
  654|      0|        fo->write(&oh, sizeof(oh));
  655|       |        // align the ps exe header (mode 2 sector data size)
  656|      0|        ibuf.clear();
  657|      0|        fo->write(ibuf, PS_HDR_SIZE - fo->getBytesWritten());
  ------------------
  |  |   45|      0|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|      0|#define CD_SEC        2048
  |  |  ------------------
  ------------------
  658|       |        // write uncompressed data + pad
  659|      0|        obuf.clear(ph.u_len, pad);
  660|      0|        fo->write(obuf, ph.u_len + pad);
  661|      0|    }
  662|      2|}

_ZNK7PackPs110getVersionEv:
   43|  2.62k|    virtual int getVersion() const override { return 13; }
_ZNK7PackPs19getFormatEv:
   44|  2.62k|    virtual int getFormat() const override { return UPX_F_PS1_EXE; }
  ------------------
  |  |  568|  2.62k|#define UPX_F_PS1_EXE             18
  ------------------

_ZNK7PackSys10getVersionEv:
   39|  2.55k|    virtual int getVersion() const override { return 13; }
_ZNK7PackSys9getFormatEv:
   40|  2.54k|    virtual int getFormat() const override { return UPX_F_DOS_SYS; }
  ------------------
  |  |  552|  2.54k|#define UPX_F_DOS_SYS             2
  ------------------
_ZN7PackSysC2EP9InputFile:
   38|  2.46k|    explicit PackSys(InputFile *f) : super(f) {}

_ZN7PackTmtC2EP9InputFile:
   44|  14.0k|PackTmt::PackTmt(InputFile *f) : super(f) {
   45|  14.0k|    bele = &N_BELE_RTP::le_policy;
   46|  14.0k|    COMPILE_TIME_ASSERT(sizeof(tmt_header_t) == 44)
  ------------------
  |  |  247|  14.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   47|  14.0k|}
_ZN7PackTmt14readFileHeaderEv:
   91|  14.0k|int PackTmt::readFileHeader() {
   92|  14.0k|#define H(x)  get_le16(h + 2 * (x))
   93|  14.0k|#define H4(x) get_le32(h + (x))
   94|  14.0k|    byte h[0x40];
   95|  14.0k|    int ic;
   96|  14.0k|    unsigned exe_offset = 0;
   97|  14.0k|    adam_offset = 0;
   98|       |
   99|  17.0k|    for (ic = 0; ic < 20; ic++) {
  ------------------
  |  Branch (99:18): [True: 16.9k, False: 126]
  ------------------
  100|  16.9k|        fi->seek(adam_offset, SEEK_SET);
  101|  16.9k|        fi->readx(h, sizeof(h));
  102|       |
  103|  16.9k|        if (memcmp(h, "MZ", 2) == 0) // dos/exe
  ------------------
  |  Branch (103:13): [True: 2.33k, False: 14.5k]
  ------------------
  104|  2.33k|        {
  105|  2.33k|            exe_offset = adam_offset;
  106|  2.33k|            adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|  2.33k|#define H(x)  get_le16(h + 2 * (x))
  ------------------
                          adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|  2.33k|#define H(x)  get_le16(h + 2 * (x))
  ------------------
  107|  2.33k|            if (H(1))
  ------------------
  |  |   92|  2.33k|#define H(x)  get_le16(h + 2 * (x))
  |  |  ------------------
  |  |  |  Branch (92:15): [True: 788, False: 1.54k]
  |  |  ------------------
  ------------------
  108|    788|                adam_offset -= 512;
  109|  2.33k|            if (H(0x18 / 2) == 0x40 && H4(0x3c))
  ------------------
  |  |   92|  2.33k|#define H(x)  get_le16(h + 2 * (x))
  ------------------
                          if (H(0x18 / 2) == 0x40 && H4(0x3c))
  ------------------
  |  |   93|    548|#define H4(x) get_le32(h + (x))
  |  |  ------------------
  |  |  |  Branch (93:15): [True: 482, False: 66]
  |  |  ------------------
  ------------------
  |  Branch (109:17): [True: 548, False: 1.78k]
  ------------------
  110|    482|                adam_offset = H4(0x3c);
  ------------------
  |  |   93|    482|#define H4(x) get_le32(h + (x))
  ------------------
  111|  14.5k|        } else if (memcmp(h, "BW", 2) == 0) {
  ------------------
  |  Branch (111:20): [True: 42, False: 14.5k]
  ------------------
  112|     42|            adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|     42|#define H(x)  get_le16(h + 2 * (x))
  ------------------
                          adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|     42|#define H(x)  get_le16(h + 2 * (x))
  ------------------
  113|  14.5k|        } else if (memcmp(h, "PMW1", 4) == 0) {
  ------------------
  |  Branch (113:20): [True: 106, False: 14.4k]
  ------------------
  114|    106|            fi->seek(adam_offset + H4(0x18), SEEK_SET);
  ------------------
  |  |   93|    106|#define H4(x) get_le32(h + (x))
  ------------------
  115|    106|            adam_offset += H4(0x24);
  ------------------
  |  |   93|    106|#define H4(x) get_le32(h + (x))
  ------------------
  116|    106|            unsigned objs = H4(0x1c);
  ------------------
  |  |   93|    106|#define H4(x) get_le32(h + (x))
  ------------------
  117|    946|            while (objs--) {
  ------------------
  |  Branch (117:20): [True: 840, False: 106]
  ------------------
  118|    840|                fi->readx(h, 0x18);
  119|    840|                adam_offset += H4(4);
  ------------------
  |  |   93|    840|#define H4(x) get_le32(h + (x))
  ------------------
  120|    840|            }
  121|  14.4k|        } else if (memcmp(h, "LE", 2) == 0) {
  ------------------
  |  Branch (121:20): [True: 476, False: 13.9k]
  ------------------
  122|       |            // + (memory_pages-1)*memory_page_size+bytes_on_last_page
  123|    476|            unsigned offs = exe_offset + (H4(0x14) - 1) * H4(0x28) + H4(0x2c);
  ------------------
  |  |   93|    476|#define H4(x) get_le32(h + (x))
  ------------------
                          unsigned offs = exe_offset + (H4(0x14) - 1) * H4(0x28) + H4(0x2c);
  ------------------
  |  |   93|    476|#define H4(x) get_le32(h + (x))
  ------------------
                          unsigned offs = exe_offset + (H4(0x14) - 1) * H4(0x28) + H4(0x2c);
  ------------------
  |  |   93|    476|#define H4(x) get_le32(h + (x))
  ------------------
  124|    476|            fi->seek(adam_offset + 0x80, SEEK_SET);
  125|    476|            fi->readx(h, 4);
  126|       |            // + data_pages_offset
  127|    476|            adam_offset = offs + H4(0);
  ------------------
  |  |   93|    476|#define H4(x) get_le32(h + (x))
  ------------------
  128|  13.9k|        } else if (memcmp(h, "Adam", 4) == 0) {
  ------------------
  |  Branch (128:20): [True: 132, False: 13.8k]
  ------------------
  129|    132|            break;
  130|    132|        } else
  131|  13.8k|            return 0;
  132|  16.9k|    }
  133|    258|    if (ic == 20)
  ------------------
  |  Branch (133:9): [True: 104, False: 154]
  ------------------
  134|    104|        return 0;
  135|       |
  136|    154|    fi->seek(adam_offset, SEEK_SET);
  137|    154|    fi->readx(&ih, sizeof(ih));
  138|       |
  139|       |    // TODO: could add more checks for the values in 'ih'
  140|    154|    const unsigned imagesize = ih.imagesize;
  141|    154|    const unsigned entry = ih.entry;
  142|    154|    const unsigned rsize = ih.relocsize;
  143|    154|    if (imagesize < sizeof(ih) || imagesize >= file_size_u || entry >= file_size_u ||
  ------------------
  |  Branch (143:9): [True: 27, False: 127]
  |  Branch (143:35): [True: 36, False: 91]
  |  Branch (143:63): [True: 19, False: 72]
  ------------------
  144|     73|        rsize >= file_size_u) {
  ------------------
  |  Branch (144:9): [True: 13, False: 59]
  ------------------
  145|     73|        throwCantPack("%s: bad header: imagesize=%#x entry=%#x relocsize=%#x", getName(), imagesize,
  146|     73|                      entry, rsize);
  147|      0|        return 0;
  148|     73|    }
  149|       |
  150|     81|    return UPX_F_TMT_ADAM;
  ------------------
  |  |  558|     81|#define UPX_F_TMT_ADAM            8
  ------------------
  151|    154|#undef H4
  152|    154|#undef H
  153|    154|}
_ZN7PackTmt9canUnpackEv:
  270|  14.0k|tribool PackTmt::canUnpack() {
  271|  14.0k|    if (!readFileHeader())
  ------------------
  |  Branch (271:9): [True: 13.5k, False: 544]
  ------------------
  272|  13.5k|        return false;
  273|    544|    fi->seek(adam_offset, SEEK_SET);
  274|    544|    return readPackHeader(512) ? 1 : -1;
  ------------------
  |  Branch (274:12): [True: 40, False: 504]
  ------------------
  275|  14.0k|}
_ZN7PackTmt6unpackEP10OutputFile:
  277|     40|void PackTmt::unpack(OutputFile *fo) {
  278|     40|    Packer::handleStub(fi, fo, adam_offset);
  279|       |
  280|     40|    ibuf.alloc(ph.c_len);
  281|     40|    obuf.allocForDecompression(ph.u_len);
  282|       |
  283|     40|    fi->seek(adam_offset + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
  284|     40|    fi->readx(ibuf, ph.c_len);
  285|       |
  286|       |    // decompress
  287|     40|    decompress(ibuf, obuf);
  288|       |
  289|       |    // read extra_info
  290|     40|    const unsigned orig_entry = mem_size(1, get_le32(obuf + ph.u_len - 8));
  291|     40|    const unsigned orelocsize = mem_size(1, get_le32(obuf + ph.u_len - 4));
  292|     40|    const unsigned osize = mem_size(1, ph.u_len - orelocsize);
  293|       |
  294|       |    // unfilter
  295|     40|    if (ph.filter) {
  ------------------
  |  Branch (295:9): [True: 0, False: 40]
  ------------------
  296|      0|        Filter ft(ph.level);
  297|      0|        ft.init(ph.filter, 0);
  298|      0|        ft.cto = (byte) ph.filter_cto;
  299|      0|        if (ph.version < 11)
  ------------------
  |  Branch (299:13): [True: 0, False: 0]
  ------------------
  300|      0|            ft.cto = (byte) (get_le32(obuf + ph.u_len - 12) >> 24);
  301|      0|        ft.unfilter(obuf, osize);
  302|      0|    }
  303|       |
  304|       |    // decode relocations
  305|     40|    SPAN_S_VAR(const byte, orelocs, raw_index_bytes(obuf, osize, orelocsize), orelocsize);
  ------------------
  |  |  214|     40|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|     40|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     40|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|     40|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     40|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     40|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     40|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     40|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  306|     40|    SPAN_S_VAR(byte, reloc_image, raw_index_bytes(obuf, 0, osize), osize);
  ------------------
  |  |  214|     40|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|     40|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     40|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|     40|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     40|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     40|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     40|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     40|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  307|     40|    MemBuffer mb_relocs;
  308|     40|    const unsigned relocnum = unoptimizeReloc(orelocs, mb_relocs, reloc_image, osize, 32, true);
  309|     40|    SPAN_S_VAR(byte, relocs, mb_relocs);
  ------------------
  |  |  214|     40|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|     40|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     40|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|     40|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     40|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     40|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     40|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     40|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  310|     40|    for (unsigned ic = 0; ic < relocnum; ic++)
  ------------------
  |  Branch (310:27): [True: 0, False: 40]
  ------------------
  311|      0|        set_le32(relocs + 4 * ic, get_le32(relocs + 4 * ic) + 4);
  312|       |
  313|     40|    memcpy(&oh, &ih, sizeof(oh));
  314|     40|    oh.imagesize = osize;
  315|     40|    oh.entry = orig_entry;
  316|     40|    oh.relocsize = relocnum * 4;
  317|       |
  318|     40|    const unsigned overlay = file_size - adam_offset - ih.imagesize - ih.relocsize - sizeof(ih);
  319|     40|    checkOverlay(overlay);
  320|       |
  321|       |    // write decompressed file
  322|     40|    if (fo) {
  ------------------
  |  Branch (322:9): [True: 0, False: 40]
  ------------------
  323|      0|        fo->write(&oh, sizeof(oh));
  324|      0|        fo->write(obuf, osize);
  325|      0|        fo->write(relocs, relocnum * 4);
  326|      0|    }
  327|       |
  328|       |    // copy the overlay
  329|     40|    copyOverlay(fo, overlay, obuf);
  330|     40|}

_ZNK7PackTmt7getNameEv:
   41|     73|    virtual const char *getName() const override { return "tmt/adam"; }
_ZNK7PackTmt10getVersionEv:
   39|  14.1k|    virtual int getVersion() const override { return 13; }
_ZNK7PackTmt9getFormatEv:
   40|  14.1k|    virtual int getFormat() const override { return UPX_F_TMT_ADAM; }
  ------------------
  |  |  558|  14.1k|#define UPX_F_TMT_ADAM            8
  ------------------

_ZN7PackTosC2EP9InputFile:
   51|  2.57k|PackTos::PackTos(InputFile *f) : super(f) {
   52|  2.57k|    bele = &N_BELE_RTP::be_policy;
   53|  2.57k|    COMPILE_TIME_ASSERT(FH_SIZE == 28)
  ------------------
  |  |  247|  2.57k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.57k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   54|  2.57k|    COMPILE_TIME_ASSERT_ALIGNED1(tos_header_t)
  ------------------
  |  |  446|  2.57k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  2.57k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  2.57k|    {                                                                                              \
  |  |  |  |  |  |  429|  2.57k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  2.57k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  2.57k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  2.57k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  2.57k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  2.57k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  2.57k|        };                                                                                         \
  |  |  |  |  |  |  436|  2.57k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.57k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.57k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  2.57k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.57k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.57k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  2.57k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  2.57k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  2.57k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  2.57k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  2.57k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.57k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.57k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  2.57k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.57k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.57k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   55|  2.57k|}
_ZN7PackTos14readFileHeaderEv:
  260|  2.57k|int PackTos::readFileHeader() {
  261|  2.57k|    fi->seek(0, SEEK_SET);
  262|  2.57k|    fi->readx(&ih, FH_SIZE);
  ------------------
  |  |   49|  2.57k|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  263|  2.57k|    if (ih.fh_magic != 0x601a)
  ------------------
  |  Branch (263:9): [True: 2.49k, False: 77]
  ------------------
  264|  2.49k|        return 0;
  265|     77|    if (0ull + FH_SIZE + ih.fh_text + ih.fh_data + ih.fh_sym > file_size_u)
  ------------------
  |  |   49|     77|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  |  Branch (265:9): [True: 47, False: 30]
  ------------------
  266|     47|        return 0;
  267|     30|    return UPX_F_ATARI_TOS;
  ------------------
  |  |  598|     30|#define UPX_F_ATARI_TOS         129
  ------------------
  268|     77|}
_ZN7PackTos15checkFileHeaderEv:
  270|     15|bool PackTos::checkFileHeader() {
  271|     15|    const unsigned f = ih.fh_flag;
  272|       |    // printf("flags: 0x%x, text: %d, data: %d, bss: %d, sym: %d\n", f, (int) ih.fh_text,
  273|       |    //        (int) ih.fh_data, (int) ih.fh_bss, (int) ih.fh_sym);
  274|     15|    if ((ih.fh_text & 1) || (ih.fh_data & 1))
  ------------------
  |  Branch (274:9): [True: 0, False: 15]
  |  Branch (274:29): [True: 0, False: 15]
  ------------------
  275|      0|        throwCantPack("odd size values in text/data");
  276|     15|    if (f & F_OS_SPECIAL)
  ------------------
  |  |  243|     15|#define F_OS_SPECIAL 0x8000 // mark as a special process
  ------------------
  |  Branch (276:9): [True: 1, False: 14]
  ------------------
  277|      1|        throwCantPack("I won't pack F_OS_SPECIAL programs");
  278|     14|    if ((f & F_PROTMODE) > F_PROT_I)
  ------------------
  |  |  247|     14|#define F_PROTMODE 0xf0 // protection mode bits
  ------------------
                  if ((f & F_PROTMODE) > F_PROT_I)
  ------------------
  |  |  252|     14|#define F_PROT_I   0x40 // invalid page
  ------------------
  |  Branch (278:9): [True: 1, False: 13]
  ------------------
  279|      1|        throwCantPack("invalid protection mode");
  280|     13|    if ((f & F_PROTMODE) != F_PROT_P) {
  ------------------
  |  |  247|     13|#define F_PROTMODE 0xf0 // protection mode bits
  ------------------
                  if ((f & F_PROTMODE) != F_PROT_P) {
  ------------------
  |  |  248|     13|#define F_PROT_P   0x00 // no read or write
  ------------------
  |  Branch (280:9): [True: 1, False: 12]
  ------------------
  281|      1|        if (opt->force < 1)
  ------------------
  |  Branch (281:13): [True: 1, False: 0]
  ------------------
  282|      1|            throwCantPack("no private memory protection; use option '-f' to force packing");
  283|      1|    }
  284|     12|    if (f & F_SHTEXT) {
  ------------------
  |  |  234|     12|#define F_SHTEXT   0x800 // program's text may be shared
  ------------------
  |  Branch (284:9): [True: 1, False: 11]
  ------------------
  285|      1|        if (opt->force < 1)
  ------------------
  |  Branch (285:13): [True: 1, False: 0]
  ------------------
  286|      1|            throwCantPack("shared text segment; use option '-f' to force packing");
  287|      1|    }
  288|       |#if 0
  289|       |    // fh_reserved seems to be unused
  290|       |    if (ih.fh_reserved != 0) {
  291|       |        if (opt->force < 1)
  292|       |            throwCantPack("reserved header field set; use option '-f' to force packing");
  293|       |    }
  294|       |#endif
  295|     11|    return true;
  296|     12|}
_ZN7PackTos9canUnpackEv:
  677|  2.57k|tribool PackTos::canUnpack() {
  678|  2.57k|    if (!readFileHeader())
  ------------------
  |  Branch (678:9): [True: 2.54k, False: 30]
  ------------------
  679|  2.54k|        return false;
  680|     30|    if (!readPackHeader(768))
  ------------------
  |  Branch (680:9): [True: 1, False: 29]
  ------------------
  681|      1|        return false;
  682|       |    // check header as set by packer
  683|     29|    if ((ih.fh_text & 3) != 0 || (ih.fh_data & 3) != 0 || (ih.fh_bss & 3) != 0 || ih.fh_sym != 0 ||
  ------------------
  |  Branch (683:9): [True: 5, False: 24]
  |  Branch (683:34): [True: 1, False: 23]
  |  Branch (683:59): [True: 1, False: 22]
  |  Branch (683:83): [True: 3, False: 19]
  ------------------
  684|     19|        ih.fh_reserved != 0 || ih.fh_reloc > 1)
  ------------------
  |  Branch (684:9): [True: 3, False: 16]
  |  Branch (684:32): [True: 1, False: 15]
  ------------------
  685|     10|        throwCantUnpack("program header damaged");
  686|       |    // generic check
  687|     19|    if (!checkFileHeader())
  ------------------
  |  Branch (687:9): [True: 0, False: 19]
  ------------------
  688|      0|        throwCantUnpack("unsupported header flags");
  689|     19|    return true;
  690|     19|}
_ZN7PackTos6unpackEP10OutputFile:
  696|     11|void PackTos::unpack(OutputFile *fo) {
  697|     11|    ibuf.alloc(ph.c_len);
  698|     11|    obuf.allocForDecompression(ph.u_len);
  699|       |
  700|     11|    fi->seek(FH_SIZE + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
  ------------------
  |  |   49|     11|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  701|     11|    fi->readx(ibuf, ph.c_len);
  702|       |
  703|       |    // decompress
  704|     11|    decompress(ibuf, obuf);
  705|       |
  706|       |    // write original header & decompressed file
  707|     11|    if (fo) {
  ------------------
  |  Branch (707:9): [True: 1, False: 10]
  ------------------
  708|      1|        unsigned overlay = file_size_u - (FH_SIZE + ih.fh_text + ih.fh_data);
  ------------------
  |  |   49|      1|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  709|      1|        if (ih.fh_reloc == 0 && overlay >= 4)
  ------------------
  |  Branch (709:13): [True: 1, False: 0]
  |  Branch (709:33): [True: 1, False: 0]
  ------------------
  710|      1|            overlay -= 4; // this is our empty fixup
  711|      1|        checkOverlay(overlay);
  712|       |
  713|      1|        fo->write(obuf + ph.u_len - FH_SIZE, FH_SIZE); // orig. file_hdr
  ------------------
  |  |   49|      1|#define FH_SIZE sizeof(tos_header_t)
  ------------------
                      fo->write(obuf + ph.u_len - FH_SIZE, FH_SIZE); // orig. file_hdr
  ------------------
  |  |   49|      1|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  714|      1|        fo->write(obuf, ph.u_len - FH_SIZE);           // orig. text+data+relocs
  ------------------
  |  |   49|      1|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  715|       |
  716|       |        // copy any overlay
  717|      1|        copyOverlay(fo, overlay, obuf);
  718|      1|    }
  719|     11|}

_ZNK7PackTos10getVersionEv:
   39|  2.59k|    virtual int getVersion() const override { return 13; }
_ZNK7PackTos9getFormatEv:
   40|  2.59k|    virtual int getFormat() const override { return UPX_F_ATARI_TOS; }
  ------------------
  |  |  598|  2.59k|#define UPX_F_ATARI_TOS         129
  ------------------
_ZNK7PackTos7getNameEv:
   41|      1|    virtual const char *getName() const override { return "atari/tos"; }

_ZN8PackUnixC2EP9InputFile:
   50|   180k|    super(f), exetype(0), blocksize(0), overlay_offset(0), lsize(0),
   51|   180k|    methods_used(0), szb_info(sizeof(b_info))
   52|   180k|{
   53|   180k|    COMPILE_TIME_ASSERT(sizeof(Elf32_Ehdr) == 52)
  ------------------
  |  |  247|   180k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   180k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   54|   180k|    COMPILE_TIME_ASSERT(sizeof(Elf32_Phdr) == 32)
  ------------------
  |  |  247|   180k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   180k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   55|   180k|    COMPILE_TIME_ASSERT(sizeof(b_info) == 12)
  ------------------
  |  |  247|   180k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   180k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   56|   180k|    COMPILE_TIME_ASSERT(sizeof(l_info) == 12)
  ------------------
  |  |  247|   180k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   180k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   57|   180k|    COMPILE_TIME_ASSERT(sizeof(p_info) == 12)
  ------------------
  |  |  247|   180k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   180k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   58|       |
   59|       |    // opt->o_unix.android_shlib is global, but must be hint
   60|       |    // that applies only when an actual ET_DYN on EM_ARM (only!).
   61|       |    // User might say "--android-shlib" but give mulitple files
   62|       |    // where some are ET_EXEC.
   63|   180k|    saved_opt_android_shlib = opt->o_unix.android_shlib;
   64|   180k|    opt->o_unix.android_shlib = 0;  // Must apply selectively
   65|       |    // Besides, cannot figure out why asl_slide_Shdrs does not work.
   66|   180k|}
_ZN8PackUnixD2Ev:
   69|   180k|{
   70|   180k|    opt->o_unix.android_shlib = saved_opt_android_shlib;
   71|   180k|}
_ZN8PackUnix12unpackExtentEjP10OutputFileRjS2_bi:
  481|  1.41k|{
  482|  1.41k|    b_info hdr; memset(&hdr, 0, sizeof(hdr));
  483|  1.41k|    unsigned inlen = 0; // output index (if-and-only-if peeking)
  484|  20.1k|    while (wanted) {
  ------------------
  |  Branch (484:12): [True: 19.3k, False: 864]
  ------------------
  485|  19.3k|        fi->readx(&hdr, szb_info);
  486|  19.3k|        int const sz_unc = ph.u_len = get_te32(&hdr.sz_unc);
  487|  19.3k|        int const sz_cpr = ph.c_len = get_te32(&hdr.sz_cpr);
  488|  19.3k|        ph.filter_cto = hdr.b_cto8;
  489|       |
  490|  19.3k|        if (sz_unc == 0 || M_LZMA < hdr.b_method) {
  ------------------
  |  |  626|  19.3k|#define M_LZMA        14
  ------------------
  |  Branch (490:13): [True: 8, False: 19.3k]
  |  Branch (490:28): [True: 78, False: 19.2k]
  ------------------
  491|     85|            throwCantUnpack("corrupt b_info");
  492|      0|            break;
  493|     85|        }
  494|  19.2k|        if (sz_unc <= 0 || sz_cpr <= 0)
  ------------------
  |  Branch (494:13): [True: 35, False: 19.2k]
  |  Branch (494:28): [True: 31, False: 19.1k]
  ------------------
  495|     65|            throwCantUnpack("corrupt b_info");
  496|  19.1k|        if (sz_cpr > sz_unc || sz_unc > (int)blocksize)
  ------------------
  |  Branch (496:13): [True: 53, False: 19.1k]
  |  Branch (496:32): [True: 42, False: 19.0k]
  ------------------
  497|     94|            throwCantUnpack("corrupt b_info");
  498|       |
  499|       |        // place the input for overlapping de-compression
  500|  19.0k|        int j = inlen + sz_unc + OVERHEAD - sz_cpr;
  501|  19.0k|        if (ibuf.getSize() < (unsigned)(j + sz_cpr)) {
  ------------------
  |  Branch (501:13): [True: 0, False: 19.0k]
  ------------------
  502|      0|            throwCantUnpack("corrupt b_info");
  503|      0|        }
  504|  19.0k|        fi->readx(ibuf+j, sz_cpr);
  505|  19.0k|        total_in += sz_cpr;
  506|       |        // update checksum of compressed data
  507|  19.0k|        c_adler = upx_adler32(ibuf + j, sz_cpr, c_adler);
  508|       |
  509|  19.0k|        if (sz_cpr < sz_unc) { // block was compressed
  ------------------
  |  Branch (509:13): [True: 16.3k, False: 2.72k]
  ------------------
  510|  16.3k|            ph.set_method(hdr.b_method);
  511|  16.3k|            decompress(ibuf+j, ibuf+inlen, false);
  512|  16.3k|            if (12==szb_info) { // modern per-block filter
  ------------------
  |  Branch (512:17): [True: 15.9k, False: 420]
  ------------------
  513|  15.9k|                if (hdr.b_ftid) {
  ------------------
  |  Branch (513:21): [True: 15.4k, False: 479]
  ------------------
  514|  15.4k|                    Filter ft(ph.level);  // FIXME: ph.level for b_info?
  515|  15.4k|                    ft.init(hdr.b_ftid, 0);
  516|  15.4k|                    ft.cto = hdr.b_cto8;
  517|  15.4k|                    ft.unfilter(ibuf+inlen, sz_unc);
  518|  15.4k|                }
  519|  15.9k|            }
  520|    420|            else { // ancient per-file filter
  521|    420|                if (first_PF_X) { // Elf32_Ehdr is never filtered
  ------------------
  |  Branch (521:21): [True: 0, False: 420]
  ------------------
  522|      0|                    first_PF_X = false;  // but everything else might be
  523|      0|                }
  524|    420|                else if (ph.filter) {
  ------------------
  |  Branch (524:26): [True: 0, False: 420]
  ------------------
  525|      0|                    Filter ft(ph.level);
  526|      0|                    ft.init(ph.filter, 0);
  527|      0|                    ft.cto = (unsigned char) ph.filter_cto;
  528|      0|                    ft.unfilter(ibuf+inlen, sz_unc);
  529|      0|                }
  530|    420|            }
  531|  16.3k|        }
  532|  2.72k|        else if (sz_cpr == sz_unc) { // slide literal (non-compressible) block
  ------------------
  |  Branch (532:18): [True: 2.67k, False: 45]
  ------------------
  533|  2.67k|            memmove(&ibuf[inlen], &ibuf[j], sz_unc);
  534|  2.67k|        }
  535|       |        // update checksum of uncompressed data
  536|  19.0k|        u_adler = upx_adler32(ibuf + inlen, sz_unc, u_adler);
  537|       |        // write block
  538|  19.0k|        if (fo) {
  ------------------
  |  Branch (538:13): [True: 18.3k, False: 779]
  ------------------
  539|  18.3k|            if (is_rewrite) {
  ------------------
  |  Branch (539:17): [True: 125, False: 18.1k]
  ------------------
  540|    125|                fo->rewrite(ibuf, sz_unc);
  541|    125|            }
  542|  18.1k|            else {
  543|  18.1k|                fo->write(ibuf, sz_unc);
  544|  18.1k|                total_out += sz_unc;
  545|  18.1k|            }
  546|  18.3k|        }
  547|    779|        else if (is_rewrite < 0) { // append to &ibuf[inlen]
  ------------------
  |  Branch (547:18): [True: 308, False: 471]
  ------------------
  548|    308|            inlen += sz_unc;  // accounting; data is already there
  549|    308|            if (wanted <= (unsigned)sz_unc)  // done
  ------------------
  |  Branch (549:17): [True: 308, False: 0]
  ------------------
  550|    308|                break;
  551|    308|        }
  552|    471|        else if (wanted < (unsigned)sz_unc) // mismatched end-of-block
  ------------------
  |  Branch (552:18): [True: 0, False: 471]
  ------------------
  553|      0|            throwCantUnpack("corrupt b_info");
  554|    471|        else { // "upx -t": (!fo && !(is_rewrite < 0))
  555|       |            // No output.
  556|    471|        }
  557|  18.7k|        wanted -= sz_unc;
  558|  18.7k|    }
  559|  1.17k|    return inlen;
  560|  1.41k|}
_ZN8PackUnix9canUnpackEv:
  568|  28.6k|{
  569|  28.6k|    int const small = 32 + sizeof(overlay_offset);
  570|       |    // Allow zero-filled last page, for Mac OS X code signing.
  571|  28.6k|    int bufsize = 2*4096 + 2*small +1;
  572|  28.6k|    if (bufsize > fi->st_size())
  ------------------
  |  Branch (572:9): [True: 25.9k, False: 2.68k]
  ------------------
  573|  25.9k|        bufsize = fi->st_size();
  574|  28.6k|    MemBuffer buf(bufsize);
  575|       |
  576|       |    fi->seek(-(off_t)bufsize, SEEK_END);
  577|  28.6k|    fi->readx(buf, bufsize);
  578|  28.6k|    return find_overlay_offset(buf);
  579|  28.6k|}
_ZN8PackUnix19find_overlay_offsetERK9MemBuffer:
  582|  28.6k|{
  583|  28.6k|    int const small = 32 + sizeof(overlay_offset);
  584|  28.6k|    int const bufsize = buf.getSize();
  585|  28.6k|    int i = bufsize;
  586|   676k|    while (i > small && 0 == buf[--i]) { }
  ------------------
  |  Branch (586:12): [True: 676k, False: 50]
  |  Branch (586:25): [True: 647k, False: 28.5k]
  ------------------
  587|  28.6k|    i -= small;
  588|       |    // allow incompressible extents
  589|  28.6k|    if (i < 0 || !getPackHeader(buf + i, bufsize - i, true))
  ------------------
  |  Branch (589:9): [True: 0, False: 28.6k]
  |  Branch (589:18): [True: 24.0k, False: 4.61k]
  ------------------
  590|  23.8k|        return false;
  591|       |
  592|  4.83k|    int l = ph.buf_offset + ph.getPackHeaderSize();
  593|  4.83k|    if (l < 0 || i + l + 4 > bufsize)
  ------------------
  |  Branch (593:9): [True: 223, False: 4.61k]
  |  Branch (593:18): [True: 3, False: 4.60k]
  ------------------
  594|      3|        throwCantUnpack("file corrupted");
  595|  4.83k|    overlay_offset = get_te32(buf + i + l);
  596|  4.83k|    if ((off_t)overlay_offset >= file_size)
  ------------------
  |  Branch (596:9): [True: 25, False: 4.80k]
  ------------------
  597|     25|        throwCantUnpack("file corrupted");
  598|       |
  599|  4.80k|    return true;
  600|  4.83k|}
_ZN8PackUnix6unpackEP10OutputFile:
  610|  1.30k|{
  611|  1.30k|    b_info bhdr;
  612|  1.30k|    unsigned c_adler = upx_adler32(nullptr, 0);
  613|  1.30k|    unsigned u_adler = upx_adler32(nullptr, 0);
  614|       |
  615|  1.30k|    if (ph.version <= 11) {
  ------------------
  |  Branch (615:9): [True: 3, False: 1.30k]
  ------------------
  616|      3|        szb_info = sizeof(bhdr.sz_unc) + sizeof(bhdr.sz_cpr);  // old style
  617|      3|    }
  618|       |    // defaults for ph.version == 8
  619|  1.30k|    unsigned orig_file_size = 0;
  620|  1.30k|    blocksize = 512 * 1024;
  621|       |
  622|  1.30k|    fi->seek(overlay_offset, SEEK_SET);
  623|  1.30k|    if (ph.version > 8)
  ------------------
  |  Branch (623:9): [True: 1.30k, False: 0]
  ------------------
  624|  1.30k|    {
  625|  1.30k|        p_info hbuf;
  626|  1.30k|        fi->readx(&hbuf, sizeof(hbuf));
  627|  1.30k|        orig_file_size = get_te32(&hbuf.p_filesize);
  628|  1.30k|        blocksize = get_te32(&hbuf.p_blocksize);
  629|  1.30k|        off_t max_inflated = file_size * 273;  // zlib limit (256 + 16 + 1)
  ------------------
  |  |  216|  1.30k|#define off_t upx_off_t
  ------------------
  630|       |
  631|  1.30k|        if (max_inflated < orig_file_size
  ------------------
  |  Branch (631:13): [True: 6, False: 1.30k]
  ------------------
  632|  1.30k|        ||  max_inflated < blocksize
  ------------------
  |  Branch (632:13): [True: 10, False: 1.29k]
  ------------------
  633|  1.29k|        ||  file_size > (off_t)orig_file_size
  ------------------
  |  Branch (633:13): [True: 19, False: 1.27k]
  ------------------
  634|  1.27k|        ||  blocksize > orig_file_size) {
  ------------------
  |  Branch (634:13): [True: 9, False: 1.26k]
  ------------------
  635|     43|            throwCantUnpack("file header corrupted");
  636|     43|        }
  637|  1.30k|    }
  638|      0|    else
  639|      0|    {
  640|       |        // skip 4 bytes (program id)
  641|      0|        fi->seek(4, SEEK_CUR);
  642|      0|    }
  643|       |
  644|  1.26k|    if ((int)(blocksize + OVERHEAD) < 0)
  ------------------
  |  Branch (644:9): [True: 0, False: 1.26k]
  ------------------
  645|      0|        throwCantUnpack("blocksize corrupted");
  646|  1.26k|    ibuf.alloc(blocksize + OVERHEAD);
  647|       |
  648|       |    // decompress blocks
  649|  1.26k|    total_in = 0;
  650|  1.26k|    total_out = 0;
  651|  1.26k|    memset(&bhdr, 0, sizeof(bhdr));
  652|  1.26k|    for (;;)
  653|  5.85k|    {
  654|  5.85k|#define buf ibuf
  655|  5.85k|        int i;
  656|  5.85k|        unsigned sz_unc, sz_cpr;
  657|       |
  658|  5.85k|        fi->readx(&bhdr, szb_info);
  659|  5.85k|        ph.u_len = sz_unc = get_te32(&bhdr.sz_unc);
  660|  5.85k|        ph.c_len = sz_cpr = get_te32(&bhdr.sz_cpr);
  661|  5.85k|        if (szb_info < sizeof(b_info)) { // some upx version 11
  ------------------
  |  Branch (661:13): [True: 6, False: 5.85k]
  ------------------
  662|      6|            bhdr.b_method = ph.method;
  663|      6|            bhdr.b_ftid = ph.filter;
  664|      6|            bhdr.b_cto8 = ph.filter_cto;
  665|      6|        }
  666|       |
  667|  5.85k|        if (sz_unc == 0)                   // uncompressed size 0 -> EOF
  ------------------
  |  Branch (667:13): [True: 419, False: 5.43k]
  ------------------
  668|    419|        {
  669|       |            // note: must reload sz_cpr as magic is always stored le32
  670|    419|            sz_cpr = get_le32(&bhdr.sz_cpr);
  671|    419|            if (sz_cpr != UPX_MAGIC_LE32)  // sz_cpr must be h->magic
  ------------------
  |  |  534|    419|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (671:17): [True: 127, False: 292]
  ------------------
  672|    127|                throwCompressedDataViolation();
  673|    292|            break;
  674|    419|        }
  675|       |        // Minimum compressed length: LZMA has 5-byte info header.
  676|       |        // NRV_d8 has 1-byte initial 8 flag bits, plus end-of-block marker
  677|       |        // (32 bit look-back offset of all 1s: encoded as 24 pairs of bits
  678|       |        // {not last, 1} then low 8-bits of 0xff; total: 8 + 2*24 + 8 bits
  679|       |        // ==> 8 bytes)
  680|  5.43k|        if (sz_unc <= 0 || sz_cpr <= 5u
  ------------------
  |  Branch (680:13): [True: 5, False: 5.43k]
  |  Branch (680:28): [True: 14, False: 5.41k]
  ------------------
  681|  5.41k|        ||  sz_cpr > sz_unc || sz_unc > blocksize)
  ------------------
  |  Branch (681:13): [True: 129, False: 5.29k]
  |  Branch (681:32): [True: 249, False: 5.04k]
  ------------------
  682|    392|            throwCantUnpack("corrupt b_info %#x %#x", sz_unc, sz_cpr);
  683|       |
  684|       |        // Compressed output has control bytes such as the 32-bit
  685|       |        // first flag bits of NRV_d32, the 5-byte info of LZMA, etc.
  686|       |        // Fuzzers may try sz_cpr shorter than possible.
  687|       |        // Use some OVERHEAD for safety.
  688|  5.04k|        i = blocksize + OVERHEAD - upx::umax(12u, sz_cpr);
  689|  5.04k|        if (i < 0)
  ------------------
  |  Branch (689:13): [True: 0, False: 5.04k]
  ------------------
  690|      0|            throwCantUnpack("corrupt b_info %#x %#x", sz_cpr, blocksize);
  691|  5.04k|        fi->readx(buf+i, sz_cpr);
  ------------------
  |  |  654|  10.0k|#define buf ibuf
  ------------------
  692|       |        // update checksum of compressed data
  693|  5.04k|        c_adler = upx_adler32(buf + i, sz_cpr, c_adler);
  ------------------
  |  |  654|  10.0k|#define buf ibuf
  ------------------
  694|       |        // decompress
  695|  5.04k|        if (sz_cpr < sz_unc) {
  ------------------
  |  Branch (695:13): [True: 3.62k, False: 1.42k]
  ------------------
  696|  3.62k|            decompress(buf+i, buf, false);
  ------------------
  |  |  654|  7.25k|#define buf ibuf
  ------------------
                          decompress(buf+i, buf, false);
  ------------------
  |  |  654|  3.62k|#define buf ibuf
  ------------------
  697|  3.62k|            if (0!=bhdr.b_ftid) {
  ------------------
  |  Branch (697:17): [True: 3.17k, False: 455]
  ------------------
  698|  3.17k|                Filter ft(ph.level);
  699|  3.17k|                ft.init(bhdr.b_ftid);
  700|  3.17k|                ft.cto = bhdr.b_cto8;
  701|  3.17k|                ft.unfilter(buf, sz_unc);
  ------------------
  |  |  654|  3.17k|#define buf ibuf
  ------------------
  702|  3.17k|            }
  703|  3.62k|            i = 0;
  704|  3.62k|        }
  705|       |        // update checksum of uncompressed data
  706|  5.04k|        u_adler = upx_adler32(buf + i, sz_unc, u_adler);
  ------------------
  |  |  654|  10.0k|#define buf ibuf
  ------------------
  707|  5.04k|        total_in  += sz_cpr;
  708|  5.04k|        total_out += sz_unc;
  709|       |        // write block
  710|  5.04k|        if (fo)
  ------------------
  |  Branch (710:13): [True: 4.59k, False: 452]
  ------------------
  711|  4.59k|            fo->write(buf + i, sz_unc);
  ------------------
  |  |  654|  9.18k|#define buf ibuf
  ------------------
  712|  5.04k|#undef buf
  713|  5.04k|    }
  714|       |
  715|       |    // update header with totals
  716|    745|    ph.c_len = total_in;
  717|    745|    ph.u_len = total_out;
  718|       |
  719|       |    // all bytes must be written
  720|    745|    if (ph.version > 8 && total_out != orig_file_size)
  ------------------
  |  Branch (720:9): [True: 292, False: 453]
  |  Branch (720:27): [True: 15, False: 277]
  ------------------
  721|     15|        throwEOFException();
  722|       |
  723|       |    // finally test the checksums
  724|    730|    if (ph.c_adler != c_adler || ph.u_adler != u_adler)
  ------------------
  |  Branch (724:9): [True: 718, False: 12]
  |  Branch (724:34): [True: 1, False: 11]
  ------------------
  725|    266|        throwChecksumError();
  726|    730|}

_ZNK8PackUnix10getVersionEv:
   51|  17.8k|    virtual int getVersion() const override { return 13; }
_ZN12PackUnixLe32C2EP9InputFile:
  180|  20.1k|    PackUnixLe32(InputFile *f) : super(f) { bele = &N_BELE_RTP::le_policy; }

_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEEC2EP9InputFilejjjPKc:
   64|  26.0k|    super(f),
   65|  26.0k|    my_e_machine(e_machine), my_elfclass(elfclass), my_elfdata(elfdata),
   66|  26.0k|    my_boot_label(boot_label),
   67|  26.0k|    n_ptload(0), phdri(nullptr), shdri(nullptr), shstrtab(nullptr)
   68|  26.0k|{
   69|  26.0k|    ElfClass::compileTimeAssertions();
   70|  26.0k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
   71|  26.0k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEED2Ev:
   75|  26.0k|{
   76|  26.0k|    delete [] phdri;
   77|  26.0k|    delete [] shdri;
   78|  26.0k|    delete [] shstrtab;
   79|  26.0k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEE14getElfSectionsEv:
  120|    321|{
  121|    321|    unsigned const e_shnum = ehdri.e_shnum;
  122|    321|    if (ehdri.e_shentsize != sizeof(*shdri)
  ------------------
  |  Branch (122:9): [True: 0, False: 321]
  ------------------
  123|    321|    ||  file_size_u < ehdri.e_shoff
  ------------------
  |  Branch (123:9): [True: 0, False: 321]
  ------------------
  124|    321|    ||  file_size_u < ehdri.e_shoff + mem_size(ehdri.e_shentsize, e_shnum)) {
  ------------------
  |  Branch (124:9): [True: 0, False: 321]
  ------------------
  125|      0|        infoWarning("bad ElfXX_Shdrs");
  126|      0|        return nullptr;
  127|      0|    }
  128|    321|    shdri = new Shdr[(unsigned) e_shnum];
  129|    321|    fi->seek(ehdri.e_shoff, SEEK_SET);
  130|    321|    fi->readx(shdri, e_shnum * sizeof(*shdri));
  131|    321|    unsigned const e_shstrndx = ehdri.e_shstrndx;
  132|    321|    if (e_shnum <= e_shstrndx) {
  ------------------
  |  Branch (132:9): [True: 6, False: 315]
  ------------------
  133|      6|        infoWarning("bad .e_shstrndx %#x", e_shstrndx);
  134|      6|        return nullptr;
  135|      6|    }
  136|    315|    Shdr const *p = &shdri[e_shstrndx];
  137|    315|    if (Shdr::SHT_STRTAB==p->sh_type
  ------------------
  |  Branch (137:9): [True: 271, False: 44]
  ------------------
  138|    271|    &&  p->sh_offset  <= (file_size_u - sizeof(*shdri))
  ------------------
  |  Branch (138:9): [True: 243, False: 28]
  ------------------
  139|    243|    &&  p->sh_size    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (139:9): [True: 214, False: 29]
  ------------------
  140|    214|    &&  p->sh_name    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (140:9): [True: 209, False: 5]
  ------------------
  141|    209|    &&  10            <= (file_size_u - p->sh_name)
  ------------------
  |  Branch (141:9): [True: 208, False: 1]
  ------------------
  142|       |        // 10 == (1+ strlen(".shstrtab"))
  143|    315|    ) {
  144|    208|        if (p->sh_size <= p->sh_name) {
  ------------------
  |  Branch (144:13): [True: 18, False: 190]
  ------------------
  145|     18|            infoWarning("bad .shstrtab _Shdr[%u]", (unsigned)ehdri.e_shstrndx);
  146|     18|            return nullptr;
  147|     18|        }
  148|    190|        shstrtab = new char[1+ p->sh_size];
  149|    190|        fi->seek(p->sh_offset, SEEK_SET);
  150|    190|        fi->readx(shstrtab, p->sh_size);
  151|    190|        shstrtab[p->sh_size] = '\0';
  152|    190|        if (0==strcmp(".shstrtab", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (152:13): [True: 111, False: 79]
  ------------------
  153|    111|            return p;
  154|    111|        }
  155|    190|    }
  156|    186|    return nullptr;
  157|    315|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEE9canUnpackEv:
  571|  26.0k|{
  572|  26.0k|    fi->seek(0, SEEK_SET);
  573|  26.0k|    fi->readx(&ehdri, sizeof(ehdri));
  574|       |
  575|       |    // now check the ELF header
  576|  26.0k|    if (memcmp(&ehdri, "\x7f\x45\x4c\x46", 4)
  ------------------
  |  Branch (576:9): [True: 9.39k, False: 16.6k]
  ------------------
  577|  16.6k|    ||  ehdri.e_ident[Ehdr::EI_CLASS] != my_elfclass
  ------------------
  |  Branch (577:9): [True: 7.34k, False: 9.28k]
  ------------------
  578|  9.28k|    ||  ehdri.e_ident[Ehdr::EI_DATA] != my_elfdata
  ------------------
  |  Branch (578:9): [True: 4.96k, False: 4.32k]
  ------------------
  579|  4.32k|    ||  ehdri.e_ident[Ehdr::EI_VERSION] != Ehdr::EV_CURRENT
  ------------------
  |  Branch (579:9): [True: 638, False: 3.68k]
  ------------------
  580|  3.68k|    ||  !memcmp(&ehdri.e_ident[8], "FreeBSD", 7)  // branded
  ------------------
  |  Branch (580:9): [True: 2, False: 3.68k]
  ------------------
  581|  3.68k|    ||  ehdri.e_machine != my_e_machine
  ------------------
  |  Branch (581:9): [True: 2.27k, False: 1.40k]
  ------------------
  582|  1.40k|    ||  ehdri.e_version != 1  // version
  ------------------
  |  Branch (582:9): [True: 10, False: 1.39k]
  ------------------
  583|  1.39k|    ||  ehdri.e_ehsize != sizeof(ehdri)  // different <elf.h> ?
  ------------------
  |  Branch (583:9): [True: 154, False: 1.24k]
  ------------------
  584|  26.0k|    )
  585|  24.7k|        return false;
  586|       |
  587|  1.24k|    if (ehdri.e_type != Ehdr::ET_REL
  ------------------
  |  Branch (587:9): [True: 896, False: 347]
  ------------------
  588|       |    //i386 fails  ||  ehdri.e_shoff != sizeof(ehdri)  // Shdr not contiguous with Ehdr
  589|    347|    ||  ehdri.e_shentsize!=sizeof(Shdr)
  ------------------
  |  Branch (589:9): [True: 5, False: 342]
  ------------------
  590|    342|    ||  ehdri.e_shnum < 4
  ------------------
  |  Branch (590:9): [True: 2, False: 340]
  ------------------
  591|    340|    ||  (unsigned)file_size < (ehdri.e_shnum * sizeof(Shdr) + ehdri.e_shoff)
  ------------------
  |  Branch (591:9): [True: 19, False: 321]
  ------------------
  592|  1.24k|    )
  593|    922|        return false;
  594|       |
  595|       |    // find the .shstrtab section
  596|    321|    Shdr const *const shstrsec = getElfSections();
  597|    321|    if (nullptr==shstrsec) {
  ------------------
  |  Branch (597:9): [True: 210, False: 111]
  ------------------
  598|    210|        return false;
  599|    210|    }
  600|       |
  601|       |    // check for .text .note .note  and sane (.sh_size + .sh_offset)
  602|    111|    p_note0 = p_note1 = p_text = nullptr;
  603|    111|    int j;
  604|    111|    Shdr *p;
  605|  9.40k|    for (p= shdri, j= ehdri.e_shnum; --j>=0; ++p) {
  ------------------
  |  Branch (605:38): [True: 9.29k, False: 111]
  ------------------
  606|  9.29k|        if ((unsigned)file_size < (p->sh_size + p->sh_offset)
  ------------------
  |  Branch (606:13): [True: 5.87k, False: 3.41k]
  ------------------
  607|  3.41k|        || (5+ p->sh_name) < p->sh_name  // wrap: ignore malformed
  ------------------
  |  Branch (607:12): [True: 117, False: 3.29k]
  ------------------
  608|  7.08k|        ||  shstrsec->sh_size < (5+ p->sh_name) ) {
  ------------------
  |  Branch (608:13): [True: 1.09k, False: 2.20k]
  ------------------
  609|  7.08k|            continue;
  610|  7.08k|        }
  611|  2.20k|        if (0==strcmp(".text", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (611:13): [True: 83, False: 2.11k]
  ------------------
  612|     83|            p_text = p;
  613|     83|        }
  614|  2.20k|        if (0==strcmp(".note", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (614:13): [True: 103, False: 2.09k]
  ------------------
  615|    103|            if (nullptr==p_note0) {
  ------------------
  |  Branch (615:17): [True: 18, False: 85]
  ------------------
  616|     18|                p_note0 = p;
  617|     18|            } else
  618|     85|            if (nullptr==p_note1) {
  ------------------
  |  Branch (618:17): [True: 15, False: 70]
  ------------------
  619|     15|                p_note1 = p;
  620|     15|            }
  621|    103|        }
  622|  2.20k|    }
  623|    111|    if (nullptr==p_text || nullptr==p_note0 || nullptr==p_note1) {
  ------------------
  |  Branch (623:9): [True: 93, False: 18]
  |  Branch (623:28): [True: 9, False: 9]
  |  Branch (623:48): [True: 2, False: 7]
  ------------------
  624|    104|        return false;
  625|    104|    }
  626|       |
  627|      7|    char buf[1024];
  628|      7|    fi->seek(p_text->sh_offset + p_text->sh_size - sizeof(buf), SEEK_SET);
  629|      7|    fi->readx(buf, sizeof(buf));
  630|      7|    if (!getPackHeader(buf, sizeof(buf)))
  ------------------
  |  Branch (630:9): [True: 3, False: 4]
  ------------------
  631|      3|        return -1; // format is known, but definitely is not packed
  632|       |
  633|      4|    return true;
  634|      7|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjPKc:
   64|  26.0k|    super(f),
   65|  26.0k|    my_e_machine(e_machine), my_elfclass(elfclass), my_elfdata(elfdata),
   66|  26.0k|    my_boot_label(boot_label),
   67|  26.0k|    n_ptload(0), phdri(nullptr), shdri(nullptr), shstrtab(nullptr)
   68|  26.0k|{
   69|  26.0k|    ElfClass::compileTimeAssertions();
   70|  26.0k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
   71|  26.0k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEED2Ev:
   75|  26.0k|{
   76|  26.0k|    delete [] phdri;
   77|  26.0k|    delete [] shdri;
   78|  26.0k|    delete [] shstrtab;
   79|  26.0k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEE14getElfSectionsEv:
  120|    272|{
  121|    272|    unsigned const e_shnum = ehdri.e_shnum;
  122|    272|    if (ehdri.e_shentsize != sizeof(*shdri)
  ------------------
  |  Branch (122:9): [True: 0, False: 272]
  ------------------
  123|    272|    ||  file_size_u < ehdri.e_shoff
  ------------------
  |  Branch (123:9): [True: 0, False: 272]
  ------------------
  124|    272|    ||  file_size_u < ehdri.e_shoff + mem_size(ehdri.e_shentsize, e_shnum)) {
  ------------------
  |  Branch (124:9): [True: 0, False: 272]
  ------------------
  125|      0|        infoWarning("bad ElfXX_Shdrs");
  126|      0|        return nullptr;
  127|      0|    }
  128|    272|    shdri = new Shdr[(unsigned) e_shnum];
  129|    272|    fi->seek(ehdri.e_shoff, SEEK_SET);
  130|    272|    fi->readx(shdri, e_shnum * sizeof(*shdri));
  131|    272|    unsigned const e_shstrndx = ehdri.e_shstrndx;
  132|    272|    if (e_shnum <= e_shstrndx) {
  ------------------
  |  Branch (132:9): [True: 9, False: 263]
  ------------------
  133|      9|        infoWarning("bad .e_shstrndx %#x", e_shstrndx);
  134|      9|        return nullptr;
  135|      9|    }
  136|    263|    Shdr const *p = &shdri[e_shstrndx];
  137|    263|    if (Shdr::SHT_STRTAB==p->sh_type
  ------------------
  |  Branch (137:9): [True: 211, False: 52]
  ------------------
  138|    211|    &&  p->sh_offset  <= (file_size_u - sizeof(*shdri))
  ------------------
  |  Branch (138:9): [True: 185, False: 26]
  ------------------
  139|    185|    &&  p->sh_size    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (139:9): [True: 168, False: 17]
  ------------------
  140|    168|    &&  p->sh_name    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (140:9): [True: 150, False: 18]
  ------------------
  141|    150|    &&  10            <= (file_size_u - p->sh_name)
  ------------------
  |  Branch (141:9): [True: 148, False: 2]
  ------------------
  142|       |        // 10 == (1+ strlen(".shstrtab"))
  143|    263|    ) {
  144|    148|        if (p->sh_size <= p->sh_name) {
  ------------------
  |  Branch (144:13): [True: 1, False: 147]
  ------------------
  145|      1|            infoWarning("bad .shstrtab _Shdr[%u]", (unsigned)ehdri.e_shstrndx);
  146|      1|            return nullptr;
  147|      1|        }
  148|    147|        shstrtab = new char[1+ p->sh_size];
  149|    147|        fi->seek(p->sh_offset, SEEK_SET);
  150|    147|        fi->readx(shstrtab, p->sh_size);
  151|    147|        shstrtab[p->sh_size] = '\0';
  152|    147|        if (0==strcmp(".shstrtab", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (152:13): [True: 73, False: 74]
  ------------------
  153|     73|            return p;
  154|     73|        }
  155|    147|    }
  156|    189|    return nullptr;
  157|    263|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
  571|  26.0k|{
  572|  26.0k|    fi->seek(0, SEEK_SET);
  573|  26.0k|    fi->readx(&ehdri, sizeof(ehdri));
  574|       |
  575|       |    // now check the ELF header
  576|  26.0k|    if (memcmp(&ehdri, "\x7f\x45\x4c\x46", 4)
  ------------------
  |  Branch (576:9): [True: 9.39k, False: 16.6k]
  ------------------
  577|  16.6k|    ||  ehdri.e_ident[Ehdr::EI_CLASS] != my_elfclass
  ------------------
  |  Branch (577:9): [True: 7.33k, False: 9.28k]
  ------------------
  578|  9.28k|    ||  ehdri.e_ident[Ehdr::EI_DATA] != my_elfdata
  ------------------
  |  Branch (578:9): [True: 4.58k, False: 4.69k]
  ------------------
  579|  4.69k|    ||  ehdri.e_ident[Ehdr::EI_VERSION] != Ehdr::EV_CURRENT
  ------------------
  |  Branch (579:9): [True: 426, False: 4.27k]
  ------------------
  580|  4.27k|    ||  !memcmp(&ehdri.e_ident[8], "FreeBSD", 7)  // branded
  ------------------
  |  Branch (580:9): [True: 14, False: 4.25k]
  ------------------
  581|  4.25k|    ||  ehdri.e_machine != my_e_machine
  ------------------
  |  Branch (581:9): [True: 2.23k, False: 2.02k]
  ------------------
  582|  2.02k|    ||  ehdri.e_version != 1  // version
  ------------------
  |  Branch (582:9): [True: 129, False: 1.89k]
  ------------------
  583|  1.89k|    ||  ehdri.e_ehsize != sizeof(ehdri)  // different <elf.h> ?
  ------------------
  |  Branch (583:9): [True: 1.01k, False: 886]
  ------------------
  584|  26.0k|    )
  585|  25.1k|        return false;
  586|       |
  587|    886|    if (ehdri.e_type != Ehdr::ET_REL
  ------------------
  |  Branch (587:9): [True: 592, False: 294]
  ------------------
  588|       |    //i386 fails  ||  ehdri.e_shoff != sizeof(ehdri)  // Shdr not contiguous with Ehdr
  589|    294|    ||  ehdri.e_shentsize!=sizeof(Shdr)
  ------------------
  |  Branch (589:9): [True: 9, False: 285]
  ------------------
  590|    285|    ||  ehdri.e_shnum < 4
  ------------------
  |  Branch (590:9): [True: 1, False: 284]
  ------------------
  591|    284|    ||  (unsigned)file_size < (ehdri.e_shnum * sizeof(Shdr) + ehdri.e_shoff)
  ------------------
  |  Branch (591:9): [True: 12, False: 272]
  ------------------
  592|    886|    )
  593|    614|        return false;
  594|       |
  595|       |    // find the .shstrtab section
  596|    272|    Shdr const *const shstrsec = getElfSections();
  597|    272|    if (nullptr==shstrsec) {
  ------------------
  |  Branch (597:9): [True: 199, False: 73]
  ------------------
  598|    199|        return false;
  599|    199|    }
  600|       |
  601|       |    // check for .text .note .note  and sane (.sh_size + .sh_offset)
  602|     73|    p_note0 = p_note1 = p_text = nullptr;
  603|     73|    int j;
  604|     73|    Shdr *p;
  605|  65.1k|    for (p= shdri, j= ehdri.e_shnum; --j>=0; ++p) {
  ------------------
  |  Branch (605:38): [True: 65.0k, False: 73]
  ------------------
  606|  65.0k|        if ((unsigned)file_size < (p->sh_size + p->sh_offset)
  ------------------
  |  Branch (606:13): [True: 43.5k, False: 21.5k]
  ------------------
  607|  21.5k|        || (5+ p->sh_name) < p->sh_name  // wrap: ignore malformed
  ------------------
  |  Branch (607:12): [True: 939, False: 20.6k]
  ------------------
  608|  51.3k|        ||  shstrsec->sh_size < (5+ p->sh_name) ) {
  ------------------
  |  Branch (608:13): [True: 6.95k, False: 13.6k]
  ------------------
  609|  51.3k|            continue;
  610|  51.3k|        }
  611|  13.6k|        if (0==strcmp(".text", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (611:13): [True: 240, False: 13.4k]
  ------------------
  612|    240|            p_text = p;
  613|    240|        }
  614|  13.6k|        if (0==strcmp(".note", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (614:13): [True: 357, False: 13.3k]
  ------------------
  615|    357|            if (nullptr==p_note0) {
  ------------------
  |  Branch (615:17): [True: 21, False: 336]
  ------------------
  616|     21|                p_note0 = p;
  617|     21|            } else
  618|    336|            if (nullptr==p_note1) {
  ------------------
  |  Branch (618:17): [True: 18, False: 318]
  ------------------
  619|     18|                p_note1 = p;
  620|     18|            }
  621|    357|        }
  622|  13.6k|    }
  623|     73|    if (nullptr==p_text || nullptr==p_note0 || nullptr==p_note1) {
  ------------------
  |  Branch (623:9): [True: 56, False: 17]
  |  Branch (623:28): [True: 10, False: 7]
  |  Branch (623:48): [True: 1, False: 6]
  ------------------
  624|     67|        return false;
  625|     67|    }
  626|       |
  627|      6|    char buf[1024];
  628|      6|    fi->seek(p_text->sh_offset + p_text->sh_size - sizeof(buf), SEEK_SET);
  629|      6|    fi->readx(buf, sizeof(buf));
  630|      6|    if (!getPackHeader(buf, sizeof(buf)))
  ------------------
  |  Branch (630:9): [True: 2, False: 4]
  ------------------
  631|      2|        return -1; // format is known, but definitely is not packed
  632|       |
  633|      4|    return true;
  634|      6|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjPKc:
   64|  26.0k|    super(f),
   65|  26.0k|    my_e_machine(e_machine), my_elfclass(elfclass), my_elfdata(elfdata),
   66|  26.0k|    my_boot_label(boot_label),
   67|  26.0k|    n_ptload(0), phdri(nullptr), shdri(nullptr), shstrtab(nullptr)
   68|  26.0k|{
   69|  26.0k|    ElfClass::compileTimeAssertions();
   70|  26.0k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
   71|  26.0k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEED2Ev:
   75|  26.0k|{
   76|  26.0k|    delete [] phdri;
   77|  26.0k|    delete [] shdri;
   78|  26.0k|    delete [] shstrtab;
   79|  26.0k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEE14getElfSectionsEv:
  120|    422|{
  121|    422|    unsigned const e_shnum = ehdri.e_shnum;
  122|    422|    if (ehdri.e_shentsize != sizeof(*shdri)
  ------------------
  |  Branch (122:9): [True: 0, False: 422]
  ------------------
  123|    422|    ||  file_size_u < ehdri.e_shoff
  ------------------
  |  Branch (123:9): [True: 22, False: 400]
  ------------------
  124|    400|    ||  file_size_u < ehdri.e_shoff + mem_size(ehdri.e_shentsize, e_shnum)) {
  ------------------
  |  Branch (124:9): [True: 0, False: 400]
  ------------------
  125|     22|        infoWarning("bad ElfXX_Shdrs");
  126|     22|        return nullptr;
  127|     22|    }
  128|    400|    shdri = new Shdr[(unsigned) e_shnum];
  129|    400|    fi->seek(ehdri.e_shoff, SEEK_SET);
  130|    400|    fi->readx(shdri, e_shnum * sizeof(*shdri));
  131|    400|    unsigned const e_shstrndx = ehdri.e_shstrndx;
  132|    400|    if (e_shnum <= e_shstrndx) {
  ------------------
  |  Branch (132:9): [True: 2, False: 398]
  ------------------
  133|      2|        infoWarning("bad .e_shstrndx %#x", e_shstrndx);
  134|      2|        return nullptr;
  135|      2|    }
  136|    398|    Shdr const *p = &shdri[e_shstrndx];
  137|    398|    if (Shdr::SHT_STRTAB==p->sh_type
  ------------------
  |  Branch (137:9): [True: 384, False: 14]
  ------------------
  138|    384|    &&  p->sh_offset  <= (file_size_u - sizeof(*shdri))
  ------------------
  |  Branch (138:9): [True: 287, False: 97]
  ------------------
  139|    287|    &&  p->sh_size    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (139:9): [True: 203, False: 84]
  ------------------
  140|    203|    &&  p->sh_name    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (140:9): [True: 195, False: 8]
  ------------------
  141|    195|    &&  10            <= (file_size_u - p->sh_name)
  ------------------
  |  Branch (141:9): [True: 191, False: 4]
  ------------------
  142|       |        // 10 == (1+ strlen(".shstrtab"))
  143|    398|    ) {
  144|    191|        if (p->sh_size <= p->sh_name) {
  ------------------
  |  Branch (144:13): [True: 4, False: 187]
  ------------------
  145|      4|            infoWarning("bad .shstrtab _Shdr[%u]", (unsigned)ehdri.e_shstrndx);
  146|      4|            return nullptr;
  147|      4|        }
  148|    187|        shstrtab = new char[1+ p->sh_size];
  149|    187|        fi->seek(p->sh_offset, SEEK_SET);
  150|    187|        fi->readx(shstrtab, p->sh_size);
  151|    187|        shstrtab[p->sh_size] = '\0';
  152|    187|        if (0==strcmp(".shstrtab", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (152:13): [True: 118, False: 69]
  ------------------
  153|    118|            return p;
  154|    118|        }
  155|    187|    }
  156|    276|    return nullptr;
  157|    398|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
  571|  26.0k|{
  572|  26.0k|    fi->seek(0, SEEK_SET);
  573|  26.0k|    fi->readx(&ehdri, sizeof(ehdri));
  574|       |
  575|       |    // now check the ELF header
  576|  26.0k|    if (memcmp(&ehdri, "\x7f\x45\x4c\x46", 4)
  ------------------
  |  Branch (576:9): [True: 9.39k, False: 16.6k]
  ------------------
  577|  16.6k|    ||  ehdri.e_ident[Ehdr::EI_CLASS] != my_elfclass
  ------------------
  |  Branch (577:9): [True: 9.31k, False: 7.30k]
  ------------------
  578|  7.30k|    ||  ehdri.e_ident[Ehdr::EI_DATA] != my_elfdata
  ------------------
  |  Branch (578:9): [True: 1.90k, False: 5.39k]
  ------------------
  579|  5.39k|    ||  ehdri.e_ident[Ehdr::EI_VERSION] != Ehdr::EV_CURRENT
  ------------------
  |  Branch (579:9): [True: 236, False: 5.16k]
  ------------------
  580|  5.16k|    ||  !memcmp(&ehdri.e_ident[8], "FreeBSD", 7)  // branded
  ------------------
  |  Branch (580:9): [True: 4, False: 5.15k]
  ------------------
  581|  5.15k|    ||  ehdri.e_machine != my_e_machine
  ------------------
  |  Branch (581:9): [True: 2.88k, False: 2.27k]
  ------------------
  582|  2.27k|    ||  ehdri.e_version != 1  // version
  ------------------
  |  Branch (582:9): [True: 358, False: 1.91k]
  ------------------
  583|  1.91k|    ||  ehdri.e_ehsize != sizeof(ehdri)  // different <elf.h> ?
  ------------------
  |  Branch (583:9): [True: 191, False: 1.72k]
  ------------------
  584|  26.0k|    )
  585|  24.2k|        return false;
  586|       |
  587|  1.72k|    if (ehdri.e_type != Ehdr::ET_REL
  ------------------
  |  Branch (587:9): [True: 1.21k, False: 508]
  ------------------
  588|       |    //i386 fails  ||  ehdri.e_shoff != sizeof(ehdri)  // Shdr not contiguous with Ehdr
  589|    508|    ||  ehdri.e_shentsize!=sizeof(Shdr)
  ------------------
  |  Branch (589:9): [True: 11, False: 497]
  ------------------
  590|    497|    ||  ehdri.e_shnum < 4
  ------------------
  |  Branch (590:9): [True: 2, False: 495]
  ------------------
  591|    495|    ||  (unsigned)file_size < (ehdri.e_shnum * sizeof(Shdr) + ehdri.e_shoff)
  ------------------
  |  Branch (591:9): [True: 73, False: 422]
  ------------------
  592|  1.72k|    )
  593|  1.30k|        return false;
  594|       |
  595|       |    // find the .shstrtab section
  596|    422|    Shdr const *const shstrsec = getElfSections();
  597|    422|    if (nullptr==shstrsec) {
  ------------------
  |  Branch (597:9): [True: 304, False: 118]
  ------------------
  598|    304|        return false;
  599|    304|    }
  600|       |
  601|       |    // check for .text .note .note  and sane (.sh_size + .sh_offset)
  602|    118|    p_note0 = p_note1 = p_text = nullptr;
  603|    118|    int j;
  604|    118|    Shdr *p;
  605|  35.2k|    for (p= shdri, j= ehdri.e_shnum; --j>=0; ++p) {
  ------------------
  |  Branch (605:38): [True: 35.0k, False: 118]
  ------------------
  606|  35.0k|        if ((unsigned)file_size < (p->sh_size + p->sh_offset)
  ------------------
  |  Branch (606:13): [True: 29.9k, False: 5.18k]
  ------------------
  607|  5.18k|        || (5+ p->sh_name) < p->sh_name  // wrap: ignore malformed
  ------------------
  |  Branch (607:12): [True: 396, False: 4.78k]
  ------------------
  608|  31.9k|        ||  shstrsec->sh_size < (5+ p->sh_name) ) {
  ------------------
  |  Branch (608:13): [True: 1.68k, False: 3.10k]
  ------------------
  609|  31.9k|            continue;
  610|  31.9k|        }
  611|  3.10k|        if (0==strcmp(".text", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (611:13): [True: 90, False: 3.01k]
  ------------------
  612|     90|            p_text = p;
  613|     90|        }
  614|  3.10k|        if (0==strcmp(".note", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (614:13): [True: 103, False: 2.99k]
  ------------------
  615|    103|            if (nullptr==p_note0) {
  ------------------
  |  Branch (615:17): [True: 17, False: 86]
  ------------------
  616|     17|                p_note0 = p;
  617|     17|            } else
  618|     86|            if (nullptr==p_note1) {
  ------------------
  |  Branch (618:17): [True: 12, False: 74]
  ------------------
  619|     12|                p_note1 = p;
  620|     12|            }
  621|    103|        }
  622|  3.10k|    }
  623|    118|    if (nullptr==p_text || nullptr==p_note0 || nullptr==p_note1) {
  ------------------
  |  Branch (623:9): [True: 99, False: 19]
  |  Branch (623:28): [True: 16, False: 3]
  |  Branch (623:48): [True: 1, False: 2]
  ------------------
  624|    116|        return false;
  625|    116|    }
  626|       |
  627|      2|    char buf[1024];
  628|      2|    fi->seek(p_text->sh_offset + p_text->sh_size - sizeof(buf), SEEK_SET);
  629|      2|    fi->readx(buf, sizeof(buf));
  630|      2|    if (!getPackHeader(buf, sizeof(buf)))
  ------------------
  |  Branch (630:9): [True: 1, False: 1]
  ------------------
  631|      1|        return -1; // format is known, but definitely is not packed
  632|       |
  633|      1|    return true;
  634|      2|}

_ZNK15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEE10getVersionEv:
   63|  26.0k|    virtual int getVersion() const override { return 13; }
_ZNK15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEE10getVersionEv:
   63|  26.0k|    virtual int getVersion() const override { return 13; }
_ZNK15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEE10getVersionEv:
   63|  26.0k|    virtual int getVersion() const override { return 13; }
_ZNK15PackVmlinuxI3869getFormatEv:
  104|  13.0k|    virtual int getFormat() const override { return UPX_F_VMLINUX_i386; }
  ------------------
  |  |  569|  13.0k|#define UPX_F_VMLINUX_i386        19
  ------------------
_ZNK16PackVmlinuxARMEL9getFormatEv:
  129|  13.0k|    virtual int getFormat() const override { return UPX_F_VMLINUX_ARM; }
  ------------------
  |  |  578|  13.0k|#define UPX_F_VMLINUX_ARM         28
  ------------------
_ZNK16PackVmlinuxARMEB9getFormatEv:
  153|  13.0k|    virtual int getFormat() const override { return UPX_F_VMLINUX_ARMEB; }
  ------------------
  |  |  604|  13.0k|#define UPX_F_VMLINUX_ARMEB     135
  ------------------
_ZNK16PackVmlinuxPPC329getFormatEv:
  177|  13.0k|    virtual int getFormat() const override { return UPX_F_VMLINUX_PPC32; }
  ------------------
  |  |  605|  13.0k|#define UPX_F_VMLINUX_PPC32     136
  ------------------
_ZNK18PackVmlinuxPPC64LE9getFormatEv:
  201|  13.0k|    virtual int getFormat() const override { return UPX_F_VMLINUX_PPC64LE; }
  ------------------
  |  |  590|  13.0k|#define UPX_F_VMLINUX_PPC64LE     40
  ------------------
_ZNK16PackVmlinuxAMD649getFormatEv:
  226|  13.0k|    virtual int getFormat() const override { return UPX_F_VMLINUX_AMD64; }
  ------------------
  |  |  577|  13.0k|#define UPX_F_VMLINUX_AMD64       27
  ------------------
_ZN15PackVmlinuxI386C2EP9InputFile:
  102|  13.0k|    PackVmlinuxI386(InputFile *f) : super(f, Ehdr::EM_386,
  103|  13.0k|        Ehdr::ELFCLASS32, Ehdr::ELFDATA2LSB, "startup_32") { }
_ZN16PackVmlinuxARMELC2EP9InputFile:
  127|  13.0k|    PackVmlinuxARMEL(InputFile *f) : super(f, Ehdr::EM_ARM,
  128|  13.0k|        Ehdr::ELFCLASS32, Ehdr::ELFDATA2LSB, "decompress_kernel") { }
_ZN16PackVmlinuxARMEBC2EP9InputFile:
  151|  13.0k|    PackVmlinuxARMEB(InputFile *f) : super(f, Ehdr::EM_ARM,
  152|  13.0k|        Ehdr::ELFCLASS32, Ehdr::ELFDATA2MSB, "decompress_kernel") { }
_ZN16PackVmlinuxPPC32C2EP9InputFile:
  175|  13.0k|    PackVmlinuxPPC32(InputFile *f) : super(f, Ehdr::EM_PPC,
  176|  13.0k|        Ehdr::ELFCLASS32, Ehdr::ELFDATA2MSB, "_vmlinux_start") { }
_ZN18PackVmlinuxPPC64LEC2EP9InputFile:
  199|  13.0k|    PackVmlinuxPPC64LE(InputFile *f) : super(f, Ehdr::EM_PPC64,
  200|  13.0k|        Ehdr::ELFCLASS64, Ehdr::ELFDATA2LSB, "_vmlinux_start") { }
_ZN16PackVmlinuxAMD64C2EP9InputFile:
  224|  13.0k|    PackVmlinuxAMD64(InputFile *f) : super(f, Ehdr::EM_X86_64,
  225|  13.0k|        Ehdr::ELFCLASS64, Ehdr::ELFDATA2LSB, "startup_32") { }

_ZN15PackVmlinuzI386C2EP9InputFile:
   59|  25.9k|    super(f), physical_start(0x100000), page_offset(0), config_physical_align(0)
   60|  25.9k|    , filter_len(0)
   61|  25.9k|{
   62|  25.9k|    bele = &N_BELE_RTP::le_policy;
   63|  25.9k|    COMPILE_TIME_ASSERT(sizeof(boot_sect_t) == 0x250)
  ------------------
  |  |  247|  25.9k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  25.9k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   64|  25.9k|}
_ZN15PackVmlinuzI38614readFileHeaderEv:
  110|  25.9k|{
  111|  25.9k|    setup_size = 0;
  112|       |
  113|  25.9k|    fi->readx(&h, sizeof(h));
  114|  25.9k|    if (h.boot_flag != 0xAA55)
  ------------------
  |  Branch (114:9): [True: 12.3k, False: 13.6k]
  ------------------
  115|  12.3k|        return 0;
  116|  13.6k|    const bool hdrs = (memcmp(h.hdrs, "HdrS", 4) == 0);
  117|       |
  118|  13.6k|    setup_size = (1 + (h.setup_sects ? h.setup_sects : 4)) * 0x200;
  ------------------
  |  Branch (118:24): [True: 103, False: 13.5k]
  ------------------
  119|  13.6k|    if (setup_size <= 0 || setup_size >= file_size)
  ------------------
  |  Branch (119:9): [True: 13.5k, False: 110]
  |  Branch (119:28): [True: 14, False: 96]
  ------------------
  120|     14|        return 0;
  121|       |
  122|  13.6k|    int format = UPX_F_VMLINUZ_i386;
  ------------------
  |  |  565|  13.6k|#define UPX_F_VMLINUZ_i386        15
  ------------------
  123|  13.6k|    unsigned sys_size = ALIGN_UP((unsigned) file_size_u, 16u) - setup_size;
  ------------------
  |  |  511|  13.6k|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
  124|       |
  125|  13.6k|    const unsigned char *p = (const unsigned char *) &h + 0x1e3;
  126|       |
  127|  13.6k|    if (hdrs && memcmp(p, "\x0d\x0a\x07""ELKS", 7) == 0)
  ------------------
  |  Branch (127:9): [True: 43, False: 13.6k]
  |  Branch (127:17): [True: 2, False: 41]
  ------------------
  128|      2|    {
  129|      2|        format = UPX_F_ELKS_8086;
  ------------------
  |  |  567|      2|#define UPX_F_ELKS_8086           17 // NOT IMPLEMENTED
  ------------------
  130|      2|    }
  131|  13.6k|    else if (hdrs && (h.load_flags & 1) != 0)
  ------------------
  |  Branch (131:14): [True: 41, False: 13.6k]
  |  Branch (131:22): [True: 26, False: 15]
  ------------------
  132|     26|    {
  133|     26|        format = UPX_F_BVMLINUZ_i386;
  ------------------
  |  |  566|     26|#define UPX_F_BVMLINUZ_i386       16
  ------------------
  134|     26|    }
  135|       |
  136|  13.6k|    if (0x204<=h.version) {
  ------------------
  |  Branch (136:9): [True: 84, False: 13.5k]
  ------------------
  137|     84|        if ((16u * h.sys_size) != sys_size)
  ------------------
  |  Branch (137:13): [True: 76, False: 8]
  ------------------
  138|     76|            return 0;
  139|     84|    }
  140|  13.5k|    else { // h.sys_size is only 2 bytes
  141|  13.5k|        if ((16u * (0xffff & h.sys_size)) != (~(~0u<<20) & sys_size))
  ------------------
  |  Branch (141:13): [True: 8, False: 13.5k]
  ------------------
  142|      8|            return 0;
  143|  13.5k|    }
  144|       |
  145|       |    // FIXME: add more checks for a valid kernel
  146|       |
  147|  13.5k|    return format;
  148|  13.6k|}
_ZN15PackVmlinuzI3869canUnpackEv:
  682|  25.9k|{
  683|  25.9k|    if (readFileHeader() != getFormat())
  ------------------
  |  Branch (683:9): [True: 12.4k, False: 13.5k]
  ------------------
  684|  12.4k|        return false;
  685|  13.5k|    fi->seek(setup_size, SEEK_SET);
  686|  13.5k|    return readPackHeader(1024) ? 1 : -1;
  ------------------
  |  Branch (686:12): [True: 0, False: 13.5k]
  ------------------
  687|  25.9k|}
_ZN16PackVmlinuzARMELC2EP9InputFile:
  722|  12.9k|    super(f), setup_size(0), filter_len(0)
  723|  12.9k|{
  724|  12.9k|    bele = &N_BELE_RTP::le_policy;
  725|  12.9k|}
_ZN16PackVmlinuzARMEL14readFileHeaderEv:
  751|  12.9k|{
  752|  12.9k|    unsigned int hdr[8];
  753|       |
  754|  12.9k|    fi->readx(hdr, sizeof(hdr));
  755|  13.1k|    for (int j=0; j < 8; ++j) {
  ------------------
  |  Branch (755:19): [True: 13.1k, False: 3]
  ------------------
  756|  13.1k|        if (0xe1a00000!=get_te32(&hdr[j])) {
  ------------------
  |  Branch (756:13): [True: 12.9k, False: 180]
  ------------------
  757|  12.9k|            return 0;
  758|  12.9k|        }
  759|  13.1k|    }
  760|      3|    return UPX_F_VMLINUZ_ARM;
  ------------------
  |  |  581|      3|#define UPX_F_VMLINUZ_ARM         31
  ------------------
  761|  12.9k|}
_ZN16PackVmlinuzARMEL9canUnpackEv:
 1040|  12.9k|{
 1041|  12.9k|    if (readFileHeader() != getFormat())
  ------------------
  |  Branch (1041:9): [True: 12.9k, False: 3]
  ------------------
 1042|  12.9k|        return false;
 1043|      3|    fi->seek(setup_size, SEEK_SET);
 1044|      3|    return readPackHeader(1024) ? 1 : -1;
  ------------------
  |  Branch (1044:12): [True: 0, False: 3]
  ------------------
 1045|  12.9k|}

_ZNK15PackVmlinuzI38610getVersionEv:
   43|  25.9k|    virtual int getVersion() const override { return 13; }
_ZNK15PackVmlinuzI3869getFormatEv:
   44|  19.2k|    virtual int getFormat() const override { return UPX_F_VMLINUZ_i386; }
  ------------------
  |  |  565|  19.2k|#define UPX_F_VMLINUZ_i386        15
  ------------------
_ZNK16PackBvmlinuzI3869getFormatEv:
  113|  19.2k|    virtual int getFormat() const override { return UPX_F_BVMLINUZ_i386; }
  ------------------
  |  |  566|  19.2k|#define UPX_F_BVMLINUZ_i386       16
  ------------------
_ZNK16PackVmlinuzARMEL10getVersionEv:
  134|  12.9k|    virtual int getVersion() const override { return 13; }
_ZNK16PackVmlinuzARMEL9getFormatEv:
  135|  25.9k|    virtual int getFormat() const  override{ return UPX_F_VMLINUZ_ARM; }
  ------------------
  |  |  581|  25.9k|#define UPX_F_VMLINUZ_ARM         31
  ------------------
_ZN16PackBvmlinuzI386C2EP9InputFile:
  112|  12.9k|    PackBvmlinuzI386(InputFile *f) : super(f) { }

_ZN13PackW32PeI386C2EP9InputFile:
   45|  13.3k|PackW32PeI386::PackW32PeI386(InputFile *f) : super(f) {}
_ZN13PackW32PeI386D2Ev:
   47|  13.3k|PackW32PeI386::~PackW32PeI386() noexcept {}
_ZN13PackW32PeI38614readFileHeaderEv:
   66|  13.3k|int PackW32PeI386::readFileHeader() {
   67|  13.3k|    if (file_size >= 0x206) {
  ------------------
  |  Branch (67:9): [True: 7.38k, False: 5.95k]
  ------------------
   68|  7.38k|        byte buf[6];
   69|       |        fi->seek(0x200, SEEK_SET);
   70|  7.38k|        fi->readx(buf, 6);
   71|  7.38k|        isrtm = memcmp(buf, "32STUB", 6) == 0;
   72|  7.38k|    }
   73|  13.3k|    return super::readFileHeader();
   74|  13.3k|}
_ZN13PackW32PeI3867canPackEv:
   80|  13.3k|tribool PackW32PeI386::canPack() {
   81|  13.3k|    if (!readFileHeader())
  ------------------
  |  Branch (81:9): [True: 13.0k, False: 261]
  ------------------
   82|  13.0k|        return false;
   83|    261|    checkMachine(ih.cpu);
   84|    261|    if (ih.cpu < IMAGE_FILE_MACHINE_I386 || ih.cpu > 0x150)
  ------------------
  |  Branch (84:9): [True: 53, False: 208]
  |  Branch (84:45): [True: 64, False: 144]
  ------------------
   85|     64|        return false;
   86|    197|    return true;
   87|    261|}
_ZN13PackW32PeI38615setOhHeaderSizeEPKN6PeFile12pe_section_tE:
  248|     25|void PackW32PeI386::setOhHeaderSize(const pe_section_t *osection) {
  249|       |    // SizeOfHeaders
  250|     25|    oh.headersize =
  251|     25|        ALIGN_UP(pe_offset + usizeof(oh) + usizeof(*osection) * oh.objects, oh.filealign);
  ------------------
  |  |  511|     25|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
  252|     25|}

_ZNK13PackW32PeI3869getFormatEv:
   40|  13.8k|    virtual int getFormat() const override { return UPX_F_W32PE_I386; }
  ------------------
  |  |  559|  13.8k|#define UPX_F_W32PE_I386          9
  ------------------
_ZNK13PackW32PeI3867getNameEv:
   41|     24|    virtual const char *getName() const override { return isrtm ? "rtm32/pe" : "win32/pe"; }
  ------------------
  |  Branch (41:59): [True: 0, False: 24]
  ------------------

_ZN14PackW64PeAmd64C2EP9InputFile:
   50|  13.5k|PackW64PeAmd64::PackW64PeAmd64(InputFile *f) : super(f) { use_stub_relocs = false; }
_ZN14PackW64PeAmd64D2Ev:
   52|  13.5k|PackW64PeAmd64::~PackW64PeAmd64() noexcept {}
_ZN14PackW64PeAmd647canPackEv:
   70|  13.5k|tribool PackW64PeAmd64::canPack() {
   71|  13.5k|    if (!readFileHeader())
  ------------------
  |  Branch (71:9): [True: 13.0k, False: 455]
  ------------------
   72|  13.0k|        return false;
   73|    455|    checkMachine(ih.cpu);
   74|    455|    if (ih.cpu != IMAGE_FILE_MACHINE_AMD64)
  ------------------
  |  Branch (74:9): [True: 185, False: 270]
  ------------------
   75|    185|        return false;
   76|    270|    return true;
   77|    455|}
_ZN14PackW64PeAmd6415setOhHeaderSizeEPKN6PeFile12pe_section_tE:
  245|      3|void PackW64PeAmd64::setOhHeaderSize(const pe_section_t *osection) {
  246|       |    // SizeOfHeaders
  247|      3|    oh.headersize =
  248|      3|        ALIGN_UP(pe_offset + usizeof(oh) + usizeof(*osection) * oh.objects, oh.filealign);
  ------------------
  |  |  511|      3|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
  249|      3|}

_ZNK14PackW64PeAmd649getFormatEv:
   40|  13.8k|    virtual int getFormat() const override { return UPX_F_W64PE_AMD64; }
  ------------------
  |  |  586|  13.8k|#define UPX_F_W64PE_AMD64         36
  ------------------
_ZNK14PackW64PeAmd647getNameEv:
   41|      3|    virtual const char *getName() const override { return "win64/pe"; }

_ZN8PackWcle10handleStubEP10OutputFile:
  112|    270|void PackWcle::handleStub(OutputFile *fo) {
  113|    270|    if (fo && !opt->watcom_le.le)
  ------------------
  |  Branch (113:9): [True: 270, False: 0]
  |  Branch (113:15): [True: 270, False: 0]
  ------------------
  114|    270|        Packer::handleStub(fi, fo, le_offset);
  115|    270|}
_ZN8PackWcle15readObjectTableEv:
  158|    270|void PackWcle::readObjectTable() {
  159|    270|    LeFile::readObjectTable();
  160|       |
  161|       |    // temporary copy of the object descriptors
  162|    270|    if (!objects) // late detection, but protect against .alloc(0)
  ------------------
  |  |   65|    270|#define objects         ih.object_table_entries
  ------------------
  |  Branch (162:9): [True: 2, False: 268]
  ------------------
  163|      2|        throwCantPack("no objects");
  164|    268|    iobject_desc.alloc(objects * sizeof(*iobject_table));
  ------------------
  |  |   65|    268|#define objects         ih.object_table_entries
  ------------------
  165|    268|    memcpy(iobject_desc, iobject_table, objects * sizeof(*iobject_table));
  ------------------
  |  |   65|    268|#define objects         ih.object_table_entries
  ------------------
  166|       |
  167|    268|    unsigned ic, jc, virtual_size;
  168|       |
  169|    795|    for (ic = jc = virtual_size = 0; ic < objects; ic++) {
  ------------------
  |  |   65|    795|#define objects         ih.object_table_entries
  ------------------
  |  Branch (169:38): [True: 527, False: 268]
  ------------------
  170|    527|        jc += IOT(ic, npages);
  ------------------
  |  |   47|    527|#define IOT(x, y) iobject_table[x].y
  ------------------
  171|    527|        IOT(ic, my_base_address) = virtual_size;
  ------------------
  |  |   47|  1.05k|#define IOT(x, y) iobject_table[x].y
  ------------------
  172|    527|        virtual_size += (IOT(ic, virtual_size) + mps - 1) & ~(mps - 1);
  ------------------
  |  |   47|    527|#define IOT(x, y) iobject_table[x].y
  ------------------
                      virtual_size += (IOT(ic, virtual_size) + mps - 1) & ~(mps - 1);
  ------------------
  |  |   67|    527|#define mps             ih.memory_page_size
  ------------------
                      virtual_size += (IOT(ic, virtual_size) + mps - 1) & ~(mps - 1);
  ------------------
  |  |   67|    527|#define mps             ih.memory_page_size
  ------------------
  173|    527|    }
  174|    268|    if (pages != jc)
  ------------------
  |  |   66|    268|#define pages           ih.memory_pages
  ------------------
  |  Branch (174:9): [True: 40, False: 228]
  ------------------
  175|     40|        throwCantPack("bad page number");
  176|    268|}
_ZN8PackWcle11decodeImageEv:
  693|     28|void PackWcle::decodeImage() {
  694|     28|    mb_oimage.allocForDecompression(ph.u_len);
  695|     28|    oimage = SPAN_S_MAKE(byte, mb_oimage); // => now a SPAN_S
  ------------------
  |  |  210|     28|#define SPAN_S_MAKE     XSPAN_S_MAKE
  |  |  ------------------
  |  |  |  |   97|     28|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     28|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|     28|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     28|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     28|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     28|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     28|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  696|       |
  697|     28|    decompress(iimage + ph.buf_offset + ph.getPackHeaderSize(), oimage);
  698|     28|    soimage = get_le32(oimage + ph.u_len - 5);
  699|     28|    opages = soimage / mps;
  ------------------
  |  |   68|     56|#define opages          oh.memory_pages
  ------------------
                  opages = soimage / mps;
  ------------------
  |  |   67|     28|#define mps             ih.memory_page_size
  ------------------
  700|     28|    oh.memory_page_size = mps;
  ------------------
  |  |   67|     28|#define mps             ih.memory_page_size
  ------------------
  701|     28|}
_ZN8PackWcle9canUnpackEv:
  736|  13.9k|tribool PackWcle::canUnpack() {
  737|  13.9k|    if (!LeFile::readFileHeader())
  ------------------
  |  Branch (737:9): [True: 13.3k, False: 574]
  ------------------
  738|  13.3k|        return false;
  739|    574|    fi->seek(exe_offset + ih.data_pages_offset, SEEK_SET);
  740|       |    // FIXME: 1024 could be too large for some files
  741|       |    // int len = 1024;
  742|    574|    int len = UPX_MIN(getImageSize(), 256u);
  ------------------
  |  |  514|    574|#define UPX_MIN(a, b)      (upx::min((a), (b)))
  ------------------
  743|    574|    if (len == 0)
  ------------------
  |  Branch (743:9): [True: 1, False: 573]
  ------------------
  744|      1|        return false;
  745|    573|    return readPackHeader(len) ? 1 : -1;
  ------------------
  |  Branch (745:12): [True: 270, False: 303]
  ------------------
  746|    574|}
_ZN8PackWcle6unpackEP10OutputFile:
  762|    270|void PackWcle::unpack(OutputFile *fo) {
  763|    270|    handleStub(fo);
  764|       |
  765|    270|    readObjectTable();
  766|    270|    iobject_desc.dealloc();
  767|    270|    readPageMap();
  768|    270|    readResidentNames();
  769|    270|    readEntryTable();
  770|    270|    readFixupPageTable();
  771|    270|    readFixups();
  772|    270|    readImage();
  773|    270|    readNonResidentNames();
  774|       |
  775|    270|    decodeImage();
  776|    270|    decodeObjectTable();
  777|       |
  778|       |    // unfilter
  779|    270|    if (ph.filter) {
  ------------------
  |  Branch (779:9): [True: 0, False: 270]
  ------------------
  780|      0|        const unsigned text_size = mem_size(mps, OOT(oh.init_cs_object - 1, npages));
  ------------------
  |  |   67|      0|#define mps             ih.memory_page_size
  ------------------
                      const unsigned text_size = mem_size(mps, OOT(oh.init_cs_object - 1, npages));
  ------------------
  |  |   48|      0|#define OOT(x, y) oobject_table[x].y
  ------------------
  781|      0|        const unsigned text_vaddr = OOT(oh.init_cs_object - 1, my_base_address);
  ------------------
  |  |   48|      0|#define OOT(x, y) oobject_table[x].y
  ------------------
  782|       |
  783|      0|        Filter ft(ph.level);
  784|      0|        ft.init(ph.filter, text_vaddr);
  785|      0|        ft.cto = (byte) ph.filter_cto;
  786|      0|        if (ph.version < 11)
  ------------------
  |  Branch (786:13): [True: 0, False: 0]
  ------------------
  787|      0|            ft.cto = (byte) (get_le32(oimage + ph.u_len - 9) >> 24);
  788|      0|        ft.unfilter(oimage + text_vaddr, text_size);
  789|      0|    }
  790|       |
  791|    270|    decodeFixupPageTable();
  792|    270|    decodeFixups();
  793|    270|    decodeEntryTable();
  794|    270|    decodePageMap();
  795|    270|    decodeResidentNames();
  796|    270|    decodeNonResidentNames();
  797|       |
  798|    270|    for (unsigned ic = 0; ic < soobject_table; ic++)
  ------------------
  |  Branch (798:27): [True: 0, False: 270]
  ------------------
  799|      0|        OOT(ic, my_base_address) = 0;
  ------------------
  |  |   48|      0|#define OOT(x, y) oobject_table[x].y
  ------------------
  800|       |
  801|    270|    while (oimage[soimage - 1] == 0)
  ------------------
  |  Branch (801:12): [True: 0, False: 270]
  ------------------
  802|      0|        soimage--;
  803|    270|    oh.bytes_on_last_page = soimage % mps;
  ------------------
  |  |   67|    270|#define mps             ih.memory_page_size
  ------------------
  804|       |
  805|       |    // write decompressed file
  806|    270|    if (fo)
  ------------------
  |  Branch (806:9): [True: 0, False: 270]
  ------------------
  807|      0|        writeFile(fo, opt->watcom_le.le);
  808|       |
  809|       |    // copy the overlay
  810|    270|    const unsigned overlaystart = ih.data_pages_offset + exe_offset + getImageSize();
  811|    270|    const unsigned overlay = file_size - overlaystart - ih.non_resident_name_table_length;
  812|    270|    checkOverlay(overlay);
  813|    270|    copyOverlay(fo, overlay, mb_oimage);
  814|    270|}

_ZNK8PackWcle10getVersionEv:
   39|  14.2k|    virtual int getVersion() const override { return 13; }
_ZNK8PackWcle9getFormatEv:
   40|  14.2k|    virtual int getFormat() const override { return UPX_F_WATCOM_LE; }
  ------------------
  |  |  555|  14.2k|#define UPX_F_WATCOM_LE           5
  ------------------
_ZN8PackWcleC2EP9InputFile:
   38|  13.9k|    explicit PackWcle(InputFile *f) : super(f), LeFile(f) { bele = &N_BELE_RTP::le_policy; }

_ZN12PackWinCeArmC2EP9InputFile:
   47|  13.2k|PackWinCeArm::PackWinCeArm(InputFile *f) : super(f) {}
_ZN12PackWinCeArmD2Ev:
   49|  13.2k|PackWinCeArm::~PackWinCeArm() noexcept {}
_ZN12PackWinCeArm7canPackEv:
  116|  13.2k|tribool PackWinCeArm::canPack() {
  117|  13.2k|    if (!readFileHeader())
  ------------------
  |  Branch (117:9): [True: 13.0k, False: 142]
  ------------------
  118|  13.0k|        return false;
  119|    142|    checkMachine(ih.cpu);
  120|    142|    if (ih.cpu != IMAGE_FILE_MACHINE_ARM && ih.cpu != IMAGE_FILE_MACHINE_THUMB)
  ------------------
  |  Branch (120:9): [True: 50, False: 92]
  |  Branch (120:45): [True: 46, False: 4]
  ------------------
  121|     46|        return false;
  122|     96|    use_thumb_stub |= ih.cpu == IMAGE_FILE_MACHINE_THUMB || (ih.entry & 1) == 1;
  ------------------
  |  Branch (122:23): [True: 56, False: 40]
  |  Branch (122:61): [True: 22, False: 18]
  ------------------
  123|       |    // HACK FIXME later: don't misuse opt->cpu_x86, need an extra option to force thumb stub
  124|     96|    use_thumb_stub |= (opt->cpu_x86 == opt->CPU_8086);
  125|     96|    return true;
  126|    142|}
_ZN12PackWinCeArm15setOhHeaderSizeEPKN6PeFile12pe_section_tE:
  221|      1|void PackWinCeArm::setOhHeaderSize(const pe_section_t *osection) {
  222|       |    // SizeOfHeaders
  223|      1|    oh.headersize = osection[1].rawdataptr;
  224|      1|}

_ZNK12PackWinCeArm9getFormatEv:
   40|  13.3k|    virtual int getFormat() const override { return UPX_F_WINCE_ARM; }
  ------------------
  |  |  571|  13.3k|#define UPX_F_WINCE_ARM           21 // Windows CE
  ------------------
_ZNK12PackWinCeArm7getNameEv:
   41|      1|    virtual const char *getName() const override { return "wince/arm"; }

_ZN10PackerBaseC2EP9InputFile:
   40|   412k|    : fi(f), file_size(f != nullptr ? f->st_size() : 0), file_size_i32(file_size) {
  ------------------
  |  Branch (40:24): [True: 412k, False: 0]
  ------------------
   41|   412k|    ph.reset();
   42|   412k|    mem_size_assert(1, file_size_u); // limited by UPX_RSIZE_MAX
   43|   412k|    assert_noexcept(file_size_i32 == file_size);
  ------------------
  |  |  496|   412k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   824k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 412k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   44|   412k|    assert_noexcept(file_size_u32 == file_size_u);
  ------------------
  |  |  496|   412k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   824k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 412k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   45|   412k|}
_ZN6PackerC2EP9InputFile:
   47|   412k|Packer::Packer(InputFile *f) : PackerBase(f) { uip = new UiPacker(this); }
_ZN6PackerD2Ev:
   49|   412k|Packer::~Packer() noexcept {
   50|   412k|    upx::owner_delete(uip);
   51|   412k|    upx::owner_delete(linker);
   52|   412k|    assert_noexcept(linker == nullptr);
  ------------------
  |  |  496|   412k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   824k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 412k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   53|   412k|}
_ZNK6Packer12assertPackerEv:
   56|   409k|void Packer::assertPacker() const {
   57|       |#if DEBUG
   58|       |    assert(getFormat() > 0);
   59|       |    assert(getFormat() < 255);
   60|       |    assert(getVersion() >= 11);
   61|       |    assert(getVersion() <= 14);
   62|       |    assert(strlen(getName()) <= 15);
   63|       |    // info: 36 is the limit for show_all_packers() in help.cpp, but 32 should be enough for now
   64|       |    assert(strlen(getFullName(nullptr)) <= 32);
   65|       |    assert(strlen(getFullName(opt)) <= 32);
   66|       |    if (bele == nullptr)
   67|       |        fprintf(stderr, "%s\n", getName());
   68|       |    assert(bele != nullptr);
   69|       |    if (getFormat() != UPX_F_MACH_FAT) // macho/fat is multiarch
   70|       |    {
   71|       |        const N_BELE_RTP::AbstractPolicy *format_bele;
   72|       |        if (getFormat() < 128)
   73|       |            format_bele = &N_BELE_RTP::le_policy;
   74|       |        else
   75|       |            format_bele = &N_BELE_RTP::be_policy;
   76|       |        if (bele != format_bele)
   77|       |            fprintf(stderr, "%s\n", getName());
   78|       |        assert(bele == format_bele);
   79|       |    }
   80|       |    Linker *l = newLinker();
   81|       |    assert(l != nullptr);
   82|       |    if (bele != l->bele)
   83|       |        fprintf(stderr, "%s\n", getName());
   84|       |    assert(bele == l->bele);
   85|       |    delete l;
   86|       |#endif
   87|   409k|}
_ZN6Packer8doUnpackEP10OutputFile:
   99|  6.18k|void Packer::doUnpack(OutputFile *fo) {
  100|  6.18k|    uip->uiUnpackStart(fo);
  101|  6.18k|    unpack(fo);
  102|  6.18k|    uip->uiUnpackEnd(fo);
  103|  6.18k|}
_ZNK6Packer17testUnpackVersionEi:
  136|  16.5k|bool Packer::testUnpackVersion(int version) const {
  137|  16.5k|    if (version != ph_version && ph_version != -1)
  ------------------
  |  Branch (137:9): [True: 16.5k, False: 0]
  |  Branch (137:34): [True: 0, False: 16.5k]
  ------------------
  138|      0|        throwCantUnpack("program has been modified; run a virus checker!");
  139|  16.5k|    if (!canUnpackVersion(version))
  ------------------
  |  Branch (139:9): [True: 19, False: 16.5k]
  ------------------
  140|     19|        throwCantUnpack("I am not compatible with older versions of UPX");
  141|  16.5k|    return true;
  142|  16.5k|}
_ZNK6Packer16testUnpackFormatEi:
  144|  16.6k|bool Packer::testUnpackFormat(int format) const {
  145|  16.6k|    if (format != ph_format && ph_format != -1)
  ------------------
  |  Branch (145:9): [True: 16.6k, False: 0]
  |  Branch (145:32): [True: 0, False: 16.6k]
  ------------------
  146|      0|        throwCantUnpack("program has been modified; run a virus checker!");
  147|  16.6k|    return canUnpackFormat(format);
  148|  16.6k|}
_ZN6Packer10decompressEN5XSpan9PtrOrSpanIKhEENS1_IhEEbP6Filter:
  305|  22.9k|void Packer::decompress(SPAN_P(const byte) in, SPAN_P(byte) out, bool verify_checksum, Filter *ft) {
  306|  22.9k|    ph_decompress(ph, in, out, verify_checksum, ft);
  307|  22.9k|}
_ZN6Packer10handleStubEP9InputFileP10OutputFilej:
  415|    444|/*static*/ void Packer::handleStub(InputFile *fif, OutputFile *fo, unsigned size) {
  416|    444|    if (fo) {
  ------------------
  |  Branch (416:9): [True: 444, False: 0]
  ------------------
  417|    444|        if (size > 0) {
  ------------------
  |  Branch (417:13): [True: 134, False: 310]
  ------------------
  418|       |            // copy stub from exe
  419|    134|            info("Copying original stub: %u bytes", size);
  420|    134|            ByteArray(stub, size);
  ------------------
  |  |  476|    134|#define ByteArray(var, n) Array(byte, var, (n))
  |  |  ------------------
  |  |  |  |  473|    134|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  |  |  474|    134|    type *const var = ACC_STATIC_CAST(type *, var##_membuf.getVoidPtr())
  |  |  |  |  ------------------
  |  |  |  |  |  | 1472|    134|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  421|    134|            fif->seek(0, SEEK_SET);
  422|    134|            fif->readx(stub, size);
  423|    134|            fo->write(stub, size);
  424|    310|        } else {
  425|       |            // no stub
  426|    310|        }
  427|    444|    }
  428|    444|}
_ZN6Packer12checkOverlayEj:
  430|    165|void Packer::checkOverlay(unsigned overlay) {
  431|    165|    if ((int) overlay < 0 || overlay > file_size_u)
  ------------------
  |  Branch (431:9): [True: 33, False: 132]
  |  Branch (431:30): [True: 13, False: 119]
  ------------------
  432|     46|        throw OverlayException("invalid overlay size; file is possibly corrupt");
  433|    119|    if (overlay == 0)
  ------------------
  |  Branch (433:9): [True: 55, False: 64]
  ------------------
  434|     55|        return;
  435|     64|    info("Found overlay: %d bytes", overlay);
  436|     64|    if (opt->overlay == opt->SKIP_OVERLAY)
  ------------------
  |  Branch (436:9): [True: 0, False: 64]
  ------------------
  437|      0|        throw OverlayException("file has overlay -- skipped; try '--overlay=copy'");
  438|     64|}
_ZN6Packer11copyOverlayEP10OutputFilejR9MemBufferb:
  440|     30|void Packer::copyOverlay(OutputFile *fo, unsigned overlay, MemBuffer &buf, bool do_seek) {
  441|     30|    assert((int) overlay >= 0);
  ------------------
  |  |  493|     30|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|     60|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 30, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|     30|    assert(overlay < file_size_u);
  ------------------
  |  |  493|     30|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|     60|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  443|      0|    buf.checkState();
  444|     30|    if (!fo || overlay == 0)
  ------------------
  |  Branch (444:9): [True: 1, False: 29]
  |  Branch (444:16): [True: 8, False: 21]
  ------------------
  445|      8|        return;
  446|     22|    if (opt->overlay != opt->COPY_OVERLAY) {
  ------------------
  |  Branch (446:9): [True: 0, False: 22]
  ------------------
  447|      0|        assert(opt->overlay == opt->STRIP_OVERLAY);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  448|      0|        infoWarning("stripping overlay: %d bytes", overlay);
  449|      0|        return;
  450|      0|    }
  451|     22|    info("Copying overlay: %d bytes", overlay);
  452|     22|    if (do_seek)
  ------------------
  |  Branch (452:9): [True: 21, False: 1]
  ------------------
  453|     21|        fi->seek(-(upx_off_t) overlay, SEEK_END);
  454|       |
  455|       |    // get buffer size, align to improve i/o speed
  456|     22|    unsigned buf_size = buf.getSize();
  457|     22|    if (buf_size > 65536)
  ------------------
  |  Branch (457:9): [True: 21, False: 1]
  ------------------
  458|     21|        buf_size = ALIGN_DOWN(buf_size, 4096u);
  ------------------
  |  |  510|     21|#define ALIGN_DOWN(a, b)   (upx::align_down((a), (b)))
  ------------------
  459|     22|    assert((int) buf_size > 0);
  ------------------
  |  |  493|     22|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|     44|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 22, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|       |
  461|     22|    do {
  462|     22|        unsigned len = overlay < buf_size ? overlay : buf_size;
  ------------------
  |  Branch (462:24): [True: 21, False: 1]
  ------------------
  463|     22|        fi->readx(buf, len);
  464|     22|        fo->write(buf, len);
  465|     22|        overlay -= len;
  466|     22|    } while (overlay > 0);
  ------------------
  |  Branch (466:14): [True: 0, False: 22]
  ------------------
  467|     22|    buf.checkState();
  468|     22|}
_ZN6Packer14initPackHeaderEv:
  488|   409k|void Packer::initPackHeader() {
  489|   409k|    ph.reset();
  490|   409k|    ph.version = getVersion();
  491|   409k|    ph.format = getFormat();
  492|   409k|    ph.method = M_NONE;
  ------------------
  |  |  633|   409k|#define M_NONE        (-3)
  ------------------
  493|   409k|    ph.level = -1;
  494|   409k|    ph.u_adler = ph.c_adler = ph.saved_u_adler = ph.saved_c_adler = upx_adler32(nullptr, 0);
  495|   409k|    ph.buf_offset = 0;
  496|   409k|    ph.u_file_size = file_size;
  497|   409k|}
_ZN6Packer13getPackHeaderEPKvib:
  530|  35.9k|bool Packer::getPackHeader(const void *b, int blen, bool allow_incompressible) {
  531|  35.9k|    auto bb = (const byte *) b;
  532|  35.9k|    if (!ph.decodePackHeaderFromBuf(SPAN_S_MAKE(const byte, bb, blen), blen))
  ------------------
  |  |  210|  35.9k|#define SPAN_S_MAKE     XSPAN_S_MAKE
  |  |  ------------------
  |  |  |  |   97|  35.9k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|  35.9k|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|  35.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|  35.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|  35.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|  35.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|  35.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (532:9): [True: 18.9k, False: 17.0k]
  ------------------
  533|  18.9k|        return false;
  534|       |
  535|  17.0k|    if (ph.version > getVersion())
  ------------------
  |  Branch (535:9): [True: 6, False: 17.0k]
  ------------------
  536|      6|        throwCantUnpack("need a newer version of UPX");
  537|       |    // Some formats might be able to unpack old versions because
  538|       |    // their implementation hasn't changed. Ask them.
  539|  17.0k|    if (opt->cmd != CMD_FILEINFO)
  ------------------
  |  Branch (539:9): [True: 16.7k, False: 336]
  ------------------
  540|  16.7k|        if (!testUnpackVersion(ph.version))
  ------------------
  |  Branch (540:13): [True: 0, False: 16.7k]
  ------------------
  541|      0|            return false;
  542|       |
  543|  17.0k|    if (ph.c_len > ph.u_len || (ph.c_len == ph.u_len && !allow_incompressible) ||
  ------------------
  |  Branch (543:9): [True: 384, False: 16.6k]
  |  Branch (543:33): [True: 12, False: 16.6k]
  |  Branch (543:57): [True: 2, False: 10]
  ------------------
  544|  16.6k|        ph.c_len >= file_size_u || ph.version <= 0 || ph.version >= 0xff)
  ------------------
  |  Branch (544:9): [True: 12, False: 16.6k]
  |  Branch (544:36): [True: 0, False: 16.6k]
  |  Branch (544:55): [True: 0, False: 16.6k]
  ------------------
  545|     40|        throwCantUnpack("header corrupted");
  546|  17.0k|    else if (ph.u_len > ph.u_file_size) {
  ------------------
  |  Branch (546:14): [True: 1.74k, False: 15.2k]
  ------------------
  547|       |#if 0
  548|       |        // FIXME: does this check make sense w.r.t. overlays ???
  549|       |        if (ph.format == UPX_F_WIN32_PE || ph.format == UPX_F_DOS_EXE)
  550|       |            // may get longer
  551|       |            ((void)0);
  552|       |        else
  553|       |            throwCantUnpack("header size corrupted");
  554|       |#endif
  555|  1.74k|    }
  556|  17.0k|    if (!isValidCompressionMethod(ph.method))
  ------------------
  |  Branch (556:9): [True: 10, False: 16.9k]
  ------------------
  557|     10|        throwCantUnpack("unknown compression method (try a newer version of UPX)");
  558|       |
  559|       |    // Some formats might be able to unpack "subformats". Ask them.
  560|  16.9k|    if (!testUnpackFormat(ph.format))
  ------------------
  |  Branch (560:9): [True: 10.5k, False: 6.42k]
  ------------------
  561|  10.5k|        return false;
  562|       |
  563|  6.42k|    return true;
  564|  16.9k|}
_ZN6Packer14readPackHeaderEib:
  566|  5.56k|bool Packer::readPackHeader(int len, bool allow_incompressible) {
  567|  5.56k|    assert(len > 0);
  ------------------
  |  |  493|  5.56k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  11.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 5.56k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|      0|    MemBuffer buf(len);
  569|  5.56k|    len = fi->read(buf, len);
  570|  5.56k|    if (len <= 0)
  ------------------
  |  Branch (570:9): [True: 3, False: 5.55k]
  ------------------
  571|      3|        return false;
  572|  5.55k|    return getPackHeader(buf, len, allow_incompressible);
  573|  5.56k|}

_ZN10PackerBaseD2Ev:
   49|   412k|    virtual ~PackerBase() noexcept {}
_ZNK6Packer16canUnpackVersionEi:
  124|  6.00k|    virtual bool canUnpackVersion(int version) const { return (version >= 8); }
_ZNK6Packer15canUnpackFormatEi:
  125|  16.5k|    virtual bool canUnpackFormat(int format) const { return (format == getFormat()); }
_ZNK6Packer8get_te16EPKv:
  262|   613k|    inline unsigned get_te16(const void *p) const noexcept { return bele->get16(p); }
_ZNK6Packer8get_te32EPKv:
  263|   977k|    inline unsigned get_te32(const void *p) const noexcept { return bele->get32(p); }
_ZNK6Packer8get_te64EPKv:
  270|   184k|    inline upx_uint64_t get_te64(const void *p) const noexcept { return bele->get64(p); }

_ZN6Packer24isValidCompressionMethodEi:
   36|   101k|/*static*/ bool Packer::isValidCompressionMethod(int m) {
   37|   101k|    return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  641|   203k|#define M_IS_LZMA(x)    (((x) &255) == M_LZMA)
  |  |  ------------------
  |  |  |  |  626|   101k|#define M_LZMA        14
  |  |  ------------------
  |  |  |  Branch (641:25): [True: 95.8k, False: 5.68k]
  |  |  ------------------
  ------------------
                  return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  637|   107k|#define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  614|  11.3k|#define M_NRV2B_LE32  2
  |  |  ------------------
  |  |               #define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  616|  5.68k|#define M_NRV2B_LE16  4
  |  |  ------------------
  |  |  |  Branch (637:26): [True: 5.68k, False: 1]
  |  |  |  Branch (637:49): [True: 4.26k, False: 1.42k]
  |  |  ------------------
  ------------------
                  return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  638|   102k|#define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  617|  2.84k|#define M_NRV2D_LE32  5
  |  |  ------------------
  |  |               #define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  619|  1.42k|#define M_NRV2D_LE16  7
  |  |  ------------------
  |  |  |  Branch (638:26): [True: 1.42k, False: 1]
  |  |  |  Branch (638:49): [True: 555, False: 868]
  |  |  ------------------
  ------------------
                  return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  639|    869|#define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  620|  1.73k|#define M_NRV2E_LE32  8
  |  |  ------------------
  |  |               #define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  622|    868|#define M_NRV2E_LE16  10
  |  |  ------------------
  |  |  |  Branch (639:26): [True: 868, False: 1]
  |  |  |  Branch (639:49): [True: 859, False: 9]
  |  |  ------------------
  ------------------
   38|   101k|}

_ZN6Packer15unoptimizeRelocERN5XSpan4SpanIKhEER9MemBufferNS0_9PtrOrSpanIhEEjib:
  110|      3|                                 unsigned image_size, int bits, bool bswap) {
  111|      3|    assert(bits == 32 || bits == 64);
  ------------------
  |  |  493|      3|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      6|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 3, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 2, False: 1]
  |  |  |  |  |  Branch (1558:47): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  112|      0|    mem_size_assert(1, image_size);
  113|      3|#if WITH_XSPAN >= 2
  114|      3|    ptr_check_no_overlap(in.data(), in.size_bytes(), image.data(image_size), image_size);
  115|      3|#endif
  116|      3|    SPAN_S_VAR(const byte, fix, in);
  ------------------
  |  |  214|      3|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      3|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      3|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      3|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  117|       |
  118|       |    // count
  119|      3|    unsigned relocnum = 0;
  120|  32.4k|    for (fix = in; *fix; fix++, relocnum++) {
  ------------------
  |  Branch (120:20): [True: 32.4k, False: 3]
  ------------------
  121|  32.4k|        if (*fix >= 0xf0) {
  ------------------
  |  Branch (121:13): [True: 689, False: 31.7k]
  ------------------
  122|    689|            if (*fix == 0xf0 && get_le16(fix + 1) == 0)
  ------------------
  |  Branch (122:17): [True: 682, False: 7]
  |  Branch (122:17): [True: 0, False: 689]
  |  Branch (122:33): [True: 0, False: 682]
  ------------------
  123|      0|                fix += 4;
  124|    689|            fix += 2;
  125|    689|        }
  126|  32.4k|    }
  127|      3|    NO_fprintf(stderr, "relocnum=%x\n", relocnum);
  128|      3|    if (0) {
  ------------------
  |  Branch (128:9): [Folded, False: 3]
  ------------------
  129|      0|        const unsigned bytes = ptr_udiff_bytes(fix + 1, in);
  130|      0|        printf("unoptimizeReloc: c_reloc %9u checksum=0x%08x\n", bytes, upx_adler32(in, bytes));
  131|      0|        printf("unoptimizeReloc: c_image %9u checksum=0x%08x\n", image_size,
  132|      0|               upx_adler32(image, image_size));
  133|      0|    }
  134|       |
  135|      3|    out.alloc(mem_size(4, relocnum + 1)); // one extra entry
  136|      3|    SPAN_S_VAR(LE32, relocs, out);
  ------------------
  |  |  214|      3|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      3|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      3|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      3|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  137|       |
  138|      3|    fix = in;
  139|      3|    unsigned pc = (unsigned) -4;
  140|  32.4k|    for (unsigned i = 0; i < relocnum; i++) {
  ------------------
  |  Branch (140:26): [True: 32.4k, False: 3]
  ------------------
  141|  32.4k|        unsigned delta;
  142|  32.4k|        if (*fix < 0xf0)
  ------------------
  |  Branch (142:13): [True: 31.7k, False: 689]
  ------------------
  143|  31.7k|            delta = *fix++;
  144|    689|        else {
  145|    689|            delta = (*fix & 0x0f) * 0x10000 + get_le16(fix + 1);
  146|    689|            fix += 3;
  147|    689|            if (delta == 0) {
  ------------------
  |  Branch (147:17): [True: 0, False: 689]
  ------------------
  148|      0|                delta = get_le32(fix);
  149|      0|                fix += 4;
  150|      0|            }
  151|    689|        }
  152|  32.4k|        if ((int) delta < 4)
  ------------------
  |  Branch (152:13): [True: 0, False: 32.4k]
  ------------------
  153|      0|            throwCantUnpack("overlapping fixups");
  154|  32.4k|        pc += delta;
  155|  32.4k|        if (pc + 4 > image_size)
  ------------------
  |  Branch (155:13): [True: 0, False: 32.4k]
  ------------------
  156|      0|            throwCantUnpack("bad reloc[%#x] = %#x", i, pc);
  157|  32.4k|        *relocs++ = pc;
  158|  32.4k|        if (bswap) {
  ------------------
  |  Branch (158:13): [True: 32.4k, False: 0]
  ------------------
  159|  32.4k|            if (bits == 32)
  ------------------
  |  Branch (159:17): [True: 27.3k, False: 5.07k]
  ------------------
  160|  27.3k|                set_be32(image + pc, get_le32(image + pc));
  161|  5.07k|            else
  162|  5.07k|                set_be64(image + pc, get_le64(image + pc));
  163|  32.4k|        }
  164|  32.4k|    }
  165|      3|    in = fix + 1; // advance
  166|      3|    assert(relocnum == ptr_udiff_bytes(relocs, raw_bytes(out, 0)) / 4);
  ------------------
  |  |  493|      3|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      6|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  167|      3|    if (0) {
  ------------------
  |  Branch (167:9): [Folded, False: 3]
  ------------------
  168|      0|        printf("unoptimizeReloc: u_reloc %9u checksum=0x%08x\n", 4 * relocnum,
  169|      0|               upx_adler32(out, 4 * relocnum));
  170|      0|        printf("unoptimizeReloc: u_image %9u checksum=0x%08x\n", image_size,
  171|      0|               upx_adler32(image, image_size));
  172|      0|    }
  173|      3|    return relocnum;
  174|      3|}

_ZN10PackHeaderC2Ev:
   39|   412k|PackHeader::PackHeader() noexcept { reset(); }
_ZN10PackHeader5resetEv:
   41|  1.23M|void PackHeader::reset() noexcept {
   42|  1.23M|    mem_clear(this);
   43|  1.23M|    version = -1;
   44|  1.23M|    format = -1;
   45|  1.23M|    compress_result.reset();
   46|  1.23M|}
_ZN10PackHeader10set_methodEij:
   48|  19.7k|int PackHeader::set_method(int m, unsigned offset) {
   49|  19.7k|    unsigned mc = ~(0x80u << 24) & m; // see ph_forced_method
   50|  19.7k|    unsigned lo = 0xFF & m;
   51|       |    // See packer_c.cpp for "hi bytes" in M_LZMA_003 and M_LZMA_407.
   52|       |    // "hi bytes" are not allowed unless M_LZMA.
   53|  19.7k|    if ((lo < M_NRV2B_LE32 || M_LZMA < lo || (M_LZMA != lo && mc != lo)) && ~0u != offset)
  ------------------
  |  |  614|  39.4k|#define M_NRV2B_LE32  2
  ------------------
                  if ((lo < M_NRV2B_LE32 || M_LZMA < lo || (M_LZMA != lo && mc != lo)) && ~0u != offset)
  ------------------
  |  |  626|  19.6k|#define M_LZMA        14
  ------------------
                  if ((lo < M_NRV2B_LE32 || M_LZMA < lo || (M_LZMA != lo && mc != lo)) && ~0u != offset)
  ------------------
  |  |  626|  19.5k|#define M_LZMA        14
  ------------------
  |  Branch (53:10): [True: 97, False: 19.6k]
  |  Branch (53:31): [True: 71, False: 19.5k]
  |  Branch (53:47): [True: 1.01k, False: 18.5k]
  |  Branch (53:63): [True: 0, False: 1.01k]
  |  Branch (53:77): [True: 16, False: 152]
  ------------------
   54|     16|        throwCantPack("bad method %#x at %#x", (unsigned) m, offset);
   55|  19.6k|    return method = m;
   56|  19.7k|}
_ZNK10PackHeader17getPackHeaderSizeEv:
   80|  22.6k|int PackHeader::getPackHeaderSize() const {
   81|  22.6k|    if (format < 0 || version < 0)
  ------------------
  |  Branch (81:9): [True: 3, False: 22.6k]
  |  Branch (81:23): [True: 0, False: 22.6k]
  ------------------
   82|      3|        throwInternalError("getPackHeaderSize");
   83|       |
   84|  22.6k|    int n = 0;
   85|  22.6k|    if (version <= 3) // Note: covers (version <= 0)
  ------------------
  |  Branch (85:9): [True: 0, False: 22.6k]
  ------------------
   86|      0|        n = 24;
   87|  22.6k|    else if (version <= 9) {
  ------------------
  |  Branch (87:14): [True: 133, False: 22.5k]
  ------------------
   88|    133|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  551|    266|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  552|     93|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (88:13): [True: 40, False: 93]
  |  Branch (88:40): [True: 6, False: 87]
  ------------------
   89|     46|            n = 20;
   90|     87|        else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  553|    174|#define UPX_F_DOS_EXE             3
  ------------------
                      else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  557|     87|#define UPX_F_DOS_EXEH            7 // OBSOLETE
  ------------------
  |  Branch (90:18): [True: 0, False: 87]
  |  Branch (90:45): [True: 0, False: 87]
  ------------------
   91|      0|            n = 25;
   92|     87|        else
   93|     87|            n = 28;
   94|  22.5k|    } else {
   95|  22.5k|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  551|  45.0k|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  552|  22.4k|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (95:13): [True: 31, False: 22.4k]
  |  Branch (95:40): [True: 32, False: 22.4k]
  ------------------
   96|     63|            n = 22;
   97|  22.4k|        else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  553|  44.9k|#define UPX_F_DOS_EXE             3
  ------------------
                      else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  557|  22.4k|#define UPX_F_DOS_EXEH            7 // OBSOLETE
  ------------------
  |  Branch (97:18): [True: 49, False: 22.4k]
  |  Branch (97:45): [True: 112, False: 22.2k]
  ------------------
   98|    161|            n = 27;
   99|  22.2k|        else
  100|  22.2k|            n = 32;
  101|  22.5k|    }
  102|  22.6k|    if (n < 20)
  ------------------
  |  Branch (102:9): [True: 0, False: 22.6k]
  ------------------
  103|      0|        throwCantUnpack("unknown header version");
  104|  22.6k|    return n;
  105|  22.6k|}
_ZN10PackHeader23decodePackHeaderFromBufEN5XSpan4SpanIKhEEi:
  189|  35.9k|bool PackHeader::decodePackHeaderFromBuf(SPAN_S(const byte) buf, int blen) {
  190|  35.9k|    int boff = find_le32(raw_bytes(buf, blen), blen, UPX_MAGIC_LE32);
  ------------------
  |  |  534|  35.9k|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  191|  35.9k|    if (boff < 0)
  ------------------
  |  Branch (191:9): [True: 18.9k, False: 17.0k]
  ------------------
  192|  18.9k|        return false;
  193|  17.0k|    blen -= boff; // bytes remaining in buf
  194|  17.0k|    if (blen < 20)
  ------------------
  |  Branch (194:9): [True: 62, False: 16.9k]
  ------------------
  195|     62|        throwCantUnpack("header corrupted 1");
  196|       |
  197|  17.0k|    SPAN_S_VAR(const byte, const p, buf + boff);
  ------------------
  |  |  214|  17.0k|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|  16.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|  16.9k|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|  16.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|  16.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|  16.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|  16.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|  16.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  198|       |
  199|  16.9k|    version = p[4];
  200|  16.9k|    format = p[5];
  201|  16.9k|    method = p[6];
  202|  16.9k|    level = p[7];
  203|  16.9k|    filter_cto = 0;
  204|       |
  205|  16.9k|    if (opt->debug.debug_level) {
  ------------------
  |  Branch (205:9): [True: 0, False: 16.9k]
  ------------------
  206|      0|        fprintf(stderr, "  decodePackHeaderFromBuf  version=%d  format=%d  method=%d  level=%d\n",
  207|      0|                version, format, method, level);
  208|      0|    }
  209|  16.9k|    if (!((format >= 1 && format <= UPX_F_CPM86_CMD) ||
  ------------------
  |  |  596|  16.9k|#define UPX_F_CPM86_CMD           46 // CP/M-86 .cmd
  ------------------
  |  Branch (209:12): [True: 16.9k, False: 21]
  |  Branch (209:27): [True: 15.6k, False: 1.32k]
  ------------------
  210|  1.34k|          (format >= 129 && format <= UPX_F_DYLIB_PPC64))) {
  ------------------
  |  |  611|  1.30k|#define UPX_F_DYLIB_PPC64       142
  ------------------
  |  Branch (210:12): [True: 1.30k, False: 36]
  |  Branch (210:29): [True: 1.29k, False: 15]
  ------------------
  211|     51|        throwCantUnpack("unknown format %d", format);
  212|     51|    }
  213|       |
  214|       |    //
  215|       |    // decode the new variable length header
  216|       |    //
  217|       |
  218|  16.9k|    int off_filter = 0;
  219|  16.9k|    if (format < 128) {
  ------------------
  |  Branch (219:9): [True: 15.6k, False: 1.29k]
  ------------------
  220|  15.6k|        u_adler = get_le32(p + 8);
  221|  15.6k|        c_adler = get_le32(p + 12);
  222|  15.6k|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS) {
  ------------------
  |  |  551|  31.2k|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS) {
  ------------------
  |  |  552|  15.5k|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (222:13): [True: 123, False: 15.5k]
  |  Branch (222:40): [True: 43, False: 15.4k]
  ------------------
  223|    166|            u_len = get_le16(p + 16);
  224|    166|            c_len = get_le16(p + 18);
  225|    166|            u_file_size = u_len;
  226|    166|            off_filter = 20;
  227|  15.4k|        } else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH) {
  ------------------
  |  |  553|  30.9k|#define UPX_F_DOS_EXE             3
  ------------------
                      } else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH) {
  ------------------
  |  |  557|  15.4k|#define UPX_F_DOS_EXEH            7 // OBSOLETE
  ------------------
  |  Branch (227:20): [True: 36, False: 15.4k]
  |  Branch (227:47): [True: 74, False: 15.3k]
  ------------------
  228|    110|            if (blen < 25)
  ------------------
  |  Branch (228:17): [True: 1, False: 109]
  ------------------
  229|      1|                throwCantUnpack("header corrupted 6");
  230|    109|            u_len = get_le24(p + 16);
  231|    109|            c_len = get_le24(p + 19);
  232|    109|            u_file_size = get_le24(p + 22);
  233|    109|            off_filter = 25;
  234|  15.3k|        } else {
  235|  15.3k|            if (blen < 31)
  ------------------
  |  Branch (235:17): [True: 12, False: 15.3k]
  ------------------
  236|     12|                throwCantUnpack("header corrupted 7");
  237|  15.3k|            u_len = get_le32(p + 16);
  238|  15.3k|            c_len = get_le32(p + 20);
  239|  15.3k|            u_file_size = get_le32(p + 24);
  240|  15.3k|            off_filter = 28;
  241|  15.3k|            filter_cto = p[29];
  242|  15.3k|            n_mru = p[30] ? 1 + p[30] : 0;
  ------------------
  |  Branch (242:21): [True: 2.92k, False: 12.4k]
  ------------------
  243|  15.3k|        }
  244|  15.6k|    } else {
  245|  1.29k|        if (blen < 31)
  ------------------
  |  Branch (245:13): [True: 8, False: 1.28k]
  ------------------
  246|      8|            throwCantUnpack("header corrupted 8");
  247|  1.28k|        u_len = get_be32(p + 8);
  248|  1.28k|        c_len = get_be32(p + 12);
  249|  1.28k|        u_adler = get_be32(p + 16);
  250|  1.28k|        c_adler = get_be32(p + 20);
  251|  1.28k|        u_file_size = get_be32(p + 24);
  252|  1.28k|        off_filter = 28;
  253|  1.28k|        filter_cto = p[29];
  254|  1.28k|        n_mru = p[30] ? 1 + p[30] : 0;
  ------------------
  |  Branch (254:17): [True: 61, False: 1.22k]
  ------------------
  255|  1.28k|    }
  256|       |
  257|  16.9k|    if (version >= 10) {
  ------------------
  |  Branch (257:9): [True: 16.2k, False: 644]
  ------------------
  258|  16.2k|        if (blen < off_filter + 1)
  ------------------
  |  Branch (258:13): [True: 2, False: 16.2k]
  ------------------
  259|      2|            throwCantUnpack("header corrupted 9");
  260|  16.2k|        filter = p[off_filter];
  261|  16.2k|    } else if ((level & 128) == 0)
  ------------------
  |  Branch (261:16): [True: 231, False: 413]
  ------------------
  262|    231|        filter = 0;
  263|    413|    else {
  264|       |        // convert old flags to new filter id
  265|    413|        level &= 127;
  266|    413|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  551|    826|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  552|    349|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (266:13): [True: 64, False: 349]
  |  Branch (266:40): [True: 8, False: 341]
  ------------------
  267|     72|            filter = 0x06;
  268|    341|        else
  269|    341|            filter = 0x26;
  270|    413|    }
  271|  16.9k|    level &= 15;
  272|       |
  273|       |    //
  274|       |    // now some checks
  275|       |    //
  276|       |
  277|  16.9k|    if (version == 0xff)
  ------------------
  |  Branch (277:9): [True: 3, False: 16.9k]
  ------------------
  278|      3|        throwCantUnpack("cannot unpack UPX ;-)");
  279|       |    // check header_checksum
  280|  16.9k|    if (version >= 10) {
  ------------------
  |  Branch (280:9): [True: 16.2k, False: 644]
  ------------------
  281|  16.2k|        int size = getPackHeaderSize(); // expected; based on format and version
  282|  16.2k|        if (size > blen || p[size - 1] != get_packheader_checksum(p, size - 1))
  ------------------
  |  Branch (282:13): [True: 5, False: 16.2k]
  |  Branch (282:13): [True: 139, False: 16.1k]
  |  Branch (282:28): [True: 134, False: 16.1k]
  ------------------
  283|    139|            throwCantUnpack("header corrupted 3");
  284|  16.2k|    }
  285|  16.7k|    if (c_len < 2 || u_len < 2 || !mem_size_valid_bytes(c_len) || !mem_size_valid_bytes(u_len))
  ------------------
  |  Branch (285:9): [True: 3, False: 16.7k]
  |  Branch (285:22): [True: 7, False: 16.7k]
  |  Branch (285:35): [True: 24, False: 16.7k]
  |  Branch (285:67): [True: 24, False: 16.7k]
  ------------------
  286|     58|        throwCantUnpack("header corrupted 4");
  287|       |
  288|       |    //
  289|       |    // success
  290|       |    //
  291|       |
  292|  16.7k|    this->buf_offset = boff;
  293|  16.7k|    return true;
  294|  16.7k|}
_Z19ph_is_forced_methodi:
  301|  22.7k|{
  302|  22.7k|    return (method >> 24) == -0x80;
  303|  22.7k|}
_Z16ph_forced_methodi:
  311|  22.7k|{
  312|  22.7k|    if (ph_is_forced_method(method))
  ------------------
  |  Branch (312:9): [True: 0, False: 22.7k]
  ------------------
  313|      0|        method &= ~(0x80u << 24);
  314|  22.7k|    assert_noexcept(method > 0);
  ------------------
  |  |  496|  22.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  45.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 22.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  315|      0|    return method;
  316|  22.7k|}
_Z13ph_decompressR10PackHeaderN5XSpan9PtrOrSpanIKhEENS2_IhEEbP6Filter:
  333|  22.9k|                   Filter *ft) {
  334|       |    // verify checksum of compressed data
  335|  22.9k|    if (verify_checksum) {
  ------------------
  |  Branch (335:9): [True: 246, False: 22.7k]
  ------------------
  336|    246|        unsigned adler = upx_adler32(raw_bytes(in, ph.c_len), ph.c_len, ph.saved_c_adler);
  337|    246|        if (adler != ph.c_adler)
  ------------------
  |  Branch (337:13): [True: 157, False: 89]
  ------------------
  338|    157|            throwChecksumError();
  339|    246|    }
  340|       |
  341|       |    // decompress
  342|  22.8k|    if (ph.u_len < ph.c_len)
  ------------------
  |  Branch (342:9): [True: 4, False: 22.8k]
  ------------------
  343|      4|        throwCantUnpack("header corrupted");
  344|  22.8k|    unsigned new_len = ph.u_len;
  345|  22.8k|    int r = upx_decompress(raw_bytes(in, ph.c_len), ph.c_len, raw_bytes(out, ph.u_len), &new_len,
  346|  22.8k|                           ph_forced_method(ph.method), &ph.compress_result);
  347|  22.8k|    if (r == UPX_E_OUT_OF_MEMORY)
  ------------------
  |  |  540|  22.8k|#define UPX_E_OUT_OF_MEMORY       (-2)
  ------------------
  |  Branch (347:9): [True: 0, False: 22.8k]
  ------------------
  348|      0|        throwOutOfMemoryException();
  349|  22.8k|    if (r != UPX_E_OK || new_len != ph.u_len)
  ------------------
  |  |  538|  45.6k|#define UPX_E_OK                  (0)
  ------------------
  |  Branch (349:9): [True: 2.55k, False: 20.2k]
  |  Branch (349:26): [True: 3, False: 20.2k]
  ------------------
  350|  2.53k|        throwCompressedDataViolation();
  351|       |
  352|       |    // verify checksum of decompressed data
  353|  20.2k|    if (verify_checksum) {
  ------------------
  |  Branch (353:9): [True: 76, False: 20.1k]
  ------------------
  354|     76|        if (ft)
  ------------------
  |  Branch (354:13): [True: 0, False: 76]
  ------------------
  355|      0|            ft->unfilter(out, ph.u_len);
  356|     76|        unsigned adler = upx_adler32(raw_bytes(out, ph.u_len), ph.u_len, ph.saved_u_adler);
  357|     76|        if (adler != ph.u_adler)
  ------------------
  |  Branch (357:13): [True: 1, False: 75]
  ------------------
  358|      1|            throwChecksumError();
  359|     76|    }
  360|  20.2k|}
packhead.cpp:_ZL23get_packheader_checksumN5XSpan4SpanIKhEEi:
   62|  16.2k|static upx_uint8_t get_packheader_checksum(SPAN_S(const byte) buf, int blen) {
   63|  16.2k|    assert(blen >= 4);
  ------------------
  |  |  493|  16.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  32.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 16.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   64|  16.2k|    assert(get_le32(buf) == UPX_MAGIC_LE32);
  ------------------
  |  |  493|  16.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  32.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 16.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   65|      0|    buf += 4;
   66|  16.2k|    blen -= 4;
   67|  16.2k|    unsigned c = 0;
   68|   454k|    while (blen-- > 0)
  ------------------
  |  Branch (68:12): [True: 438k, False: 16.2k]
  ------------------
   69|   438k|        c += *buf++;
   70|  16.2k|    c %= 251;
   71|  16.2k|    return (upx_uint8_t) c;
   72|  16.2k|}

_ZN10PackMasterC2EP9InputFileP7Options:
   65|  14.1k|PackMaster::PackMaster(InputFile *f, Options *o) noexcept : fi(f) {
   66|       |    // replace global options with local options
   67|  14.1k|    if (o != nullptr) {
  ------------------
  |  Branch (67:9): [True: 14.1k, False: 0]
  ------------------
   68|       |#if WITH_THREADS
   69|       |        // TODO later: check for possible "noexcept" violation here
   70|       |        std::lock_guard<std::mutex> lock(opt_lock_mutex);
   71|       |#endif
   72|  14.1k|        saved_opt = o;
   73|  14.1k|        memcpy(&this->local_options, o, sizeof(*o)); // struct copy
   74|  14.1k|        opt = &this->local_options;
   75|  14.1k|    }
   76|  14.1k|}
_ZN10PackMasterD2Ev:
   78|  14.1k|PackMaster::~PackMaster() noexcept {
   79|  14.1k|    upx::owner_delete(packer);
   80|       |    // restore global options
   81|  14.1k|    if (saved_opt != nullptr) {
  ------------------
  |  Branch (81:9): [True: 14.1k, False: 0]
  ------------------
   82|       |#if WITH_THREADS
   83|       |        // TODO later: check for possible "noexcept" violation here
   84|       |        std::lock_guard<std::mutex> lock(opt_lock_mutex);
   85|       |#endif
   86|  14.1k|        opt = saved_opt;
   87|  14.1k|        saved_opt = nullptr;
   88|  14.1k|    }
   89|  14.1k|}
_ZN10PackMaster15visitAllPackersEPFN3upx7TriBoolIiLb0EEEP10PackerBasePvEP9InputFilePK7OptionsS5_:
  139|  14.1k|                                        void *user) may_throw {
  140|  14.1k|#define VISIT(Klass)                                                                               \
  141|  14.1k|    do {                                                                                           \
  142|  14.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  143|  14.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  144|  14.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  145|  14.1k|        if (o->debug.debug_level)                                                                  \
  146|  14.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  147|  14.1k|                    pb->getFormat(), #Klass);                                                      \
  148|  14.1k|        pb->assertPacker();                                                                        \
  149|  14.1k|        tribool r = func(pb.get(), user);                                                          \
  150|  14.1k|        if (r)                                                                                     \
  151|  14.1k|            return pb.release(); /* success */                                                     \
  152|  14.1k|        if (r.isThird())                                                                           \
  153|  14.1k|            return nullptr; /* stop and fail early */                                              \
  154|  14.1k|    } while (0)
  155|       |
  156|       |    // NOTE: order of tries is important !!!
  157|       |
  158|       |    //
  159|       |    // .exe
  160|       |    //
  161|  14.1k|    if (!o->dos_exe.force_stub) {
  ------------------
  |  Branch (161:9): [True: 14.1k, False: 0]
  ------------------
  162|       |        // dos32
  163|  14.1k|        VISIT(PackDjgpp2);
  ------------------
  |  |  141|  14.1k|    do {                                                                                           \
  |  |  142|  14.1k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  14.1k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  14.1k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  14.1k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  146|  14.1k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  14.1k|        pb->assertPacker();                                                                        \
  |  |  149|  14.1k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  14.1k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 9, False: 14.1k]
  |  |  ------------------
  |  |  151|  14.1k|            return pb.release(); /* success */                                                     \
  |  |  152|  14.1k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 21, False: 14.0k]
  |  |  ------------------
  |  |  153|  14.1k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  14.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 14.0k]
  |  |  ------------------
  ------------------
  164|  14.0k|        VISIT(PackTmt);
  ------------------
  |  |  141|  14.0k|    do {                                                                                           \
  |  |  142|  14.0k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  14.0k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  14.0k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  14.0k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 14.0k]
  |  |  ------------------
  |  |  146|  14.0k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  14.0k|        pb->assertPacker();                                                                        \
  |  |  149|  14.0k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  14.0k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 40, False: 14.0k]
  |  |  ------------------
  |  |  151|  14.0k|            return pb.release(); /* success */                                                     \
  |  |  152|  14.0k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 5, False: 14.0k]
  |  |  ------------------
  |  |  153|  14.0k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  14.0k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 14.0k]
  |  |  ------------------
  ------------------
  165|  14.0k|        VISIT(PackWcle);
  ------------------
  |  |  141|  14.0k|    do {                                                                                           \
  |  |  142|  14.0k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  14.0k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  14.0k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  14.0k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 14.0k]
  |  |  ------------------
  |  |  146|  14.0k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  14.0k|        pb->assertPacker();                                                                        \
  |  |  149|  14.0k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  14.0k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 270, False: 13.7k]
  |  |  ------------------
  |  |  151|  14.0k|            return pb.release(); /* success */                                                     \
  |  |  152|  14.0k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 16, False: 13.7k]
  |  |  ------------------
  |  |  153|  13.7k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  13.7k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 13.7k]
  |  |  ------------------
  ------------------
  166|       |        // Windows
  167|       |        // VISIT(PackW64PeArm64EC); // NOT YET IMPLEMENTED
  168|       |        // VISIT(PackW64PeArm64); // NOT YET IMPLEMENTED
  169|  13.7k|        VISIT(PackW64PeAmd64);
  ------------------
  |  |  141|  13.7k|    do {                                                                                           \
  |  |  142|  13.7k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  13.7k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  13.7k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  13.7k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 13.7k]
  |  |  ------------------
  |  |  146|  13.7k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  13.7k|        pb->assertPacker();                                                                        \
  |  |  149|  13.7k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  13.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 14, False: 13.7k]
  |  |  ------------------
  |  |  151|  13.7k|            return pb.release(); /* success */                                                     \
  |  |  152|  13.7k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 6, False: 13.7k]
  |  |  ------------------
  |  |  153|  13.7k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  13.7k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 13.7k]
  |  |  ------------------
  ------------------
  170|  13.7k|        VISIT(PackW32PeI386);
  ------------------
  |  |  141|  13.7k|    do {                                                                                           \
  |  |  142|  13.7k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  13.7k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  13.7k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  13.7k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 13.7k]
  |  |  ------------------
  |  |  146|  13.7k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  13.7k|        pb->assertPacker();                                                                        \
  |  |  149|  13.7k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  13.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 95, False: 13.6k]
  |  |  ------------------
  |  |  151|  13.7k|            return pb.release(); /* success */                                                     \
  |  |  152|  13.7k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 6, False: 13.6k]
  |  |  ------------------
  |  |  153|  13.6k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  13.6k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 13.6k]
  |  |  ------------------
  ------------------
  171|  13.6k|        VISIT(PackWinCeArm);
  ------------------
  |  |  141|  13.6k|    do {                                                                                           \
  |  |  142|  13.6k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  13.6k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  13.6k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  13.6k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 13.6k]
  |  |  ------------------
  |  |  146|  13.6k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  13.6k|        pb->assertPacker();                                                                        \
  |  |  149|  13.6k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  13.6k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 18, False: 13.6k]
  |  |  ------------------
  |  |  151|  13.6k|            return pb.release(); /* success */                                                     \
  |  |  152|  13.6k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 1, False: 13.6k]
  |  |  ------------------
  |  |  153|  13.6k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  13.6k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 13.6k]
  |  |  ------------------
  ------------------
  172|  13.6k|    }
  173|  13.6k|    VISIT(PackExe); // dos/exe
  ------------------
  |  |  141|  13.6k|    do {                                                                                           \
  |  |  142|  13.6k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  13.6k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  13.6k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  13.6k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 13.6k]
  |  |  ------------------
  |  |  146|  13.6k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  13.6k|        pb->assertPacker();                                                                        \
  |  |  149|  13.6k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  13.6k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 52, False: 13.5k]
  |  |  ------------------
  |  |  151|  13.6k|            return pb.release(); /* success */                                                     \
  |  |  152|  13.6k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  153|  13.5k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  13.5k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 13.5k]
  |  |  ------------------
  ------------------
  174|       |
  175|       |    //
  176|       |    // linux kernel
  177|       |    //
  178|  13.5k|    VISIT(PackVmlinuxARMEL);
  ------------------
  |  |  141|  13.5k|    do {                                                                                           \
  |  |  142|  13.5k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  13.5k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  13.5k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  13.5k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  146|  13.5k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  13.5k|        pb->assertPacker();                                                                        \
  |  |  149|  13.5k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  13.5k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  151|  13.5k|            return pb.release(); /* success */                                                     \
  |  |  152|  13.5k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 1, False: 13.5k]
  |  |  ------------------
  |  |  153|  13.5k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  13.5k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 13.5k]
  |  |  ------------------
  ------------------
  179|  13.5k|    VISIT(PackVmlinuxARMEB);
  ------------------
  |  |  141|  13.5k|    do {                                                                                           \
  |  |  142|  13.5k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  13.5k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  13.5k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  13.5k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  146|  13.5k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  13.5k|        pb->assertPacker();                                                                        \
  |  |  149|  13.5k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  13.5k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  151|  13.5k|            return pb.release(); /* success */                                                     \
  |  |  152|  13.5k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 1, False: 13.5k]
  |  |  ------------------
  |  |  153|  13.5k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  13.5k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 13.5k]
  |  |  ------------------
  ------------------
  180|  13.5k|    VISIT(PackVmlinuxPPC32);
  ------------------
  |  |  141|  13.5k|    do {                                                                                           \
  |  |  142|  13.5k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  13.5k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  13.5k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  13.5k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  146|  13.5k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  13.5k|        pb->assertPacker();                                                                        \
  |  |  149|  13.5k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  13.5k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  151|  13.5k|            return pb.release(); /* success */                                                     \
  |  |  152|  13.5k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 2, False: 13.5k]
  |  |  ------------------
  |  |  153|  13.5k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  13.5k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 13.5k]
  |  |  ------------------
  ------------------
  181|  13.5k|    VISIT(PackVmlinuxPPC64LE);
  ------------------
  |  |  141|  13.5k|    do {                                                                                           \
  |  |  142|  13.5k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  13.5k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  13.5k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  13.5k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  146|  13.5k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  13.5k|        pb->assertPacker();                                                                        \
  |  |  149|  13.5k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  13.5k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  151|  13.5k|            return pb.release(); /* success */                                                     \
  |  |  152|  13.5k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  153|  13.5k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  13.5k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 13.5k]
  |  |  ------------------
  ------------------
  182|  13.5k|    VISIT(PackVmlinuxAMD64);
  ------------------
  |  |  141|  13.5k|    do {                                                                                           \
  |  |  142|  13.5k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  13.5k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  13.5k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  13.5k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  146|  13.5k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  13.5k|        pb->assertPacker();                                                                        \
  |  |  149|  13.5k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  13.5k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  151|  13.5k|            return pb.release(); /* success */                                                     \
  |  |  152|  13.5k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 1, False: 13.5k]
  |  |  ------------------
  |  |  153|  13.5k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  13.5k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 13.5k]
  |  |  ------------------
  ------------------
  183|  13.5k|    VISIT(PackVmlinuxI386);
  ------------------
  |  |  141|  13.5k|    do {                                                                                           \
  |  |  142|  13.5k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  13.5k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  13.5k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  13.5k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  146|  13.5k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  13.5k|        pb->assertPacker();                                                                        \
  |  |  149|  13.5k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  13.5k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  151|  13.5k|            return pb.release(); /* success */                                                     \
  |  |  152|  13.5k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 1, False: 13.5k]
  |  |  ------------------
  |  |  153|  13.5k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  13.5k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 13.5k]
  |  |  ------------------
  ------------------
  184|  13.5k|#if (WITH_ZLIB)
  185|  13.5k|    VISIT(PackVmlinuzI386);
  ------------------
  |  |  141|  13.5k|    do {                                                                                           \
  |  |  142|  13.5k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  13.5k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  13.5k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  13.5k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  146|  13.5k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  13.5k|        pb->assertPacker();                                                                        \
  |  |  149|  13.5k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  13.5k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  151|  13.5k|            return pb.release(); /* success */                                                     \
  |  |  152|  13.5k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 4, False: 13.5k]
  |  |  ------------------
  |  |  153|  13.5k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  13.5k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 13.5k]
  |  |  ------------------
  ------------------
  186|  13.5k|    VISIT(PackBvmlinuzI386);
  ------------------
  |  |  141|  13.5k|    do {                                                                                           \
  |  |  142|  13.5k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  13.5k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  13.5k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  13.5k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  146|  13.5k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  13.5k|        pb->assertPacker();                                                                        \
  |  |  149|  13.5k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  13.5k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  151|  13.5k|            return pb.release(); /* success */                                                     \
  |  |  152|  13.5k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 2, False: 13.5k]
  |  |  ------------------
  |  |  153|  13.5k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  13.5k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 13.5k]
  |  |  ------------------
  ------------------
  187|  13.5k|    VISIT(PackVmlinuzARMEL);
  ------------------
  |  |  141|  13.5k|    do {                                                                                           \
  |  |  142|  13.5k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  13.5k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  13.5k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  13.5k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  146|  13.5k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  13.5k|        pb->assertPacker();                                                                        \
  |  |  149|  13.5k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  13.5k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 0, False: 13.5k]
  |  |  ------------------
  |  |  151|  13.5k|            return pb.release(); /* success */                                                     \
  |  |  152|  13.5k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 2, False: 13.5k]
  |  |  ------------------
  |  |  153|  13.5k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  13.5k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 13.5k]
  |  |  ------------------
  ------------------
  188|  13.5k|#endif
  189|       |
  190|       |    //
  191|       |    // linux
  192|       |    //
  193|  13.5k|    if (!o->o_unix.force_execve) {
  ------------------
  |  Branch (193:9): [True: 12.9k, False: 571]
  ------------------
  194|  12.9k|        if (o->o_unix.use_ptinterp) {
  ------------------
  |  Branch (194:13): [True: 0, False: 12.9k]
  ------------------
  195|      0|            VISIT(PackLinuxElf32x86interp);
  ------------------
  |  |  141|      0|    do {                                                                                           \
  |  |  142|      0|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|      0|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|      0|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|      0|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  146|      0|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|      0|        pb->assertPacker();                                                                        \
  |  |  149|      0|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|      0|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  151|      0|            return pb.release(); /* success */                                                     \
  |  |  152|      0|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  153|      0|            return nullptr; /* stop and fail early */                                              \
  |  |  154|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 0]
  |  |  ------------------
  ------------------
  196|      0|        }
  197|  12.9k|        VISIT(PackFreeBSDElf32x86);
  ------------------
  |  |  141|  12.9k|    do {                                                                                           \
  |  |  142|  12.9k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  12.9k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  12.9k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  12.9k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 12.9k]
  |  |  ------------------
  |  |  146|  12.9k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  12.9k|        pb->assertPacker();                                                                        \
  |  |  149|  12.9k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  12.9k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 1, False: 12.9k]
  |  |  ------------------
  |  |  151|  12.9k|            return pb.release(); /* success */                                                     \
  |  |  152|  12.9k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 12.9k]
  |  |  ------------------
  |  |  153|  12.9k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  12.9k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 12.9k]
  |  |  ------------------
  ------------------
  198|  12.9k|        VISIT(PackNetBSDElf32x86);
  ------------------
  |  |  141|  12.9k|    do {                                                                                           \
  |  |  142|  12.9k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  12.9k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  12.9k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  12.9k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 12.9k]
  |  |  ------------------
  |  |  146|  12.9k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  12.9k|        pb->assertPacker();                                                                        \
  |  |  149|  12.9k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  12.9k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 0, False: 12.9k]
  |  |  ------------------
  |  |  151|  12.9k|            return pb.release(); /* success */                                                     \
  |  |  152|  12.9k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 12.9k]
  |  |  ------------------
  |  |  153|  12.9k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  12.9k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 12.9k]
  |  |  ------------------
  ------------------
  199|  12.9k|        VISIT(PackOpenBSDElf32x86);
  ------------------
  |  |  141|  12.9k|    do {                                                                                           \
  |  |  142|  12.9k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  12.9k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  12.9k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  12.9k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 12.9k]
  |  |  ------------------
  |  |  146|  12.9k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  12.9k|        pb->assertPacker();                                                                        \
  |  |  149|  12.9k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  12.9k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 0, False: 12.9k]
  |  |  ------------------
  |  |  151|  12.9k|            return pb.release(); /* success */                                                     \
  |  |  152|  12.9k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 12.9k]
  |  |  ------------------
  |  |  153|  12.9k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  12.9k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 12.9k]
  |  |  ------------------
  ------------------
  200|  12.9k|        VISIT(PackLinuxElf32x86);
  ------------------
  |  |  141|  12.9k|    do {                                                                                           \
  |  |  142|  12.9k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  12.9k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  12.9k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  12.9k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 12.9k]
  |  |  ------------------
  |  |  146|  12.9k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  12.9k|        pb->assertPacker();                                                                        \
  |  |  149|  12.9k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  12.9k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 1.10k, False: 11.8k]
  |  |  ------------------
  |  |  151|  12.9k|            return pb.release(); /* success */                                                     \
  |  |  152|  12.9k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 11.8k]
  |  |  ------------------
  |  |  153|  11.8k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  11.8k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 11.8k]
  |  |  ------------------
  ------------------
  201|  11.8k|        VISIT(PackLinuxElf64amd);
  ------------------
  |  |  141|  11.8k|    do {                                                                                           \
  |  |  142|  11.8k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  11.8k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  11.8k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  11.8k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 11.8k]
  |  |  ------------------
  |  |  146|  11.8k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  11.8k|        pb->assertPacker();                                                                        \
  |  |  149|  11.8k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  11.8k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 1.10k, False: 10.7k]
  |  |  ------------------
  |  |  151|  11.8k|            return pb.release(); /* success */                                                     \
  |  |  152|  11.8k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 10.7k]
  |  |  ------------------
  |  |  153|  10.7k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  10.7k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 10.7k]
  |  |  ------------------
  ------------------
  202|  10.7k|        VISIT(PackLinuxElf32armLe);
  ------------------
  |  |  141|  10.7k|    do {                                                                                           \
  |  |  142|  10.7k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  10.7k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  10.7k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  10.7k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 10.7k]
  |  |  ------------------
  |  |  146|  10.7k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  10.7k|        pb->assertPacker();                                                                        \
  |  |  149|  10.7k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  10.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 9, False: 10.7k]
  |  |  ------------------
  |  |  151|  10.7k|            return pb.release(); /* success */                                                     \
  |  |  152|  10.7k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 10.7k]
  |  |  ------------------
  |  |  153|  10.7k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  10.7k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 10.7k]
  |  |  ------------------
  ------------------
  203|  10.7k|        VISIT(PackLinuxElf32armBe);
  ------------------
  |  |  141|  10.7k|    do {                                                                                           \
  |  |  142|  10.7k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  10.7k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  10.7k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  10.7k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 10.7k]
  |  |  ------------------
  |  |  146|  10.7k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  10.7k|        pb->assertPacker();                                                                        \
  |  |  149|  10.7k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  10.7k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 493, False: 10.2k]
  |  |  ------------------
  |  |  151|  10.7k|            return pb.release(); /* success */                                                     \
  |  |  152|  10.7k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  153|  10.2k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  10.2k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 10.2k]
  |  |  ------------------
  ------------------
  204|  10.2k|        VISIT(PackLinuxElf64arm);
  ------------------
  |  |  141|  10.2k|    do {                                                                                           \
  |  |  142|  10.2k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  10.2k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  10.2k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  10.2k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  146|  10.2k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  10.2k|        pb->assertPacker();                                                                        \
  |  |  149|  10.2k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  10.2k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 26, False: 10.2k]
  |  |  ------------------
  |  |  151|  10.2k|            return pb.release(); /* success */                                                     \
  |  |  152|  10.2k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  153|  10.2k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  10.2k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 10.2k]
  |  |  ------------------
  ------------------
  205|  10.2k|        VISIT(PackLinuxElf64riscv64);
  ------------------
  |  |  141|  10.2k|    do {                                                                                           \
  |  |  142|  10.2k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  10.2k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  10.2k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  10.2k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  146|  10.2k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  10.2k|        pb->assertPacker();                                                                        \
  |  |  149|  10.2k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  10.2k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  151|  10.2k|            return pb.release(); /* success */                                                     \
  |  |  152|  10.2k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  153|  10.2k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  10.2k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 10.2k]
  |  |  ------------------
  ------------------
  206|  10.2k|        VISIT(PackLinuxElf32ppc);
  ------------------
  |  |  141|  10.2k|    do {                                                                                           \
  |  |  142|  10.2k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  10.2k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  10.2k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  10.2k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  146|  10.2k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  10.2k|        pb->assertPacker();                                                                        \
  |  |  149|  10.2k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  10.2k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 505, False: 9.74k]
  |  |  ------------------
  |  |  151|  10.2k|            return pb.release(); /* success */                                                     \
  |  |  152|  10.2k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.74k]
  |  |  ------------------
  |  |  153|  9.74k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  9.74k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 9.74k]
  |  |  ------------------
  ------------------
  207|  9.74k|        VISIT(PackLinuxElf64ppc);
  ------------------
  |  |  141|  9.74k|    do {                                                                                           \
  |  |  142|  9.74k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  9.74k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  9.74k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  9.74k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 9.74k]
  |  |  ------------------
  |  |  146|  9.74k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  9.74k|        pb->assertPacker();                                                                        \
  |  |  149|  9.74k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  9.74k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 10, False: 9.73k]
  |  |  ------------------
  |  |  151|  9.74k|            return pb.release(); /* success */                                                     \
  |  |  152|  9.74k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.73k]
  |  |  ------------------
  |  |  153|  9.73k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  9.73k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 9.73k]
  |  |  ------------------
  ------------------
  208|  9.73k|        VISIT(PackLinuxElf64ppcle);
  ------------------
  |  |  141|  9.73k|    do {                                                                                           \
  |  |  142|  9.73k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  9.73k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  9.73k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  9.73k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 9.73k]
  |  |  ------------------
  |  |  146|  9.73k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  9.73k|        pb->assertPacker();                                                                        \
  |  |  149|  9.73k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  9.73k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 8, False: 9.72k]
  |  |  ------------------
  |  |  151|  9.73k|            return pb.release(); /* success */                                                     \
  |  |  152|  9.73k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.72k]
  |  |  ------------------
  |  |  153|  9.72k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  9.72k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 9.72k]
  |  |  ------------------
  ------------------
  209|  9.72k|        VISIT(PackLinuxElf32mipsel);
  ------------------
  |  |  141|  9.72k|    do {                                                                                           \
  |  |  142|  9.72k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  9.72k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  9.72k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  9.72k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 9.72k]
  |  |  ------------------
  |  |  146|  9.72k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  9.72k|        pb->assertPacker();                                                                        \
  |  |  149|  9.72k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  9.72k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 8, False: 9.71k]
  |  |  ------------------
  |  |  151|  9.72k|            return pb.release(); /* success */                                                     \
  |  |  152|  9.72k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.71k]
  |  |  ------------------
  |  |  153|  9.71k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  9.71k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 9.71k]
  |  |  ------------------
  ------------------
  210|  9.71k|        VISIT(PackLinuxElf32mipseb);
  ------------------
  |  |  141|  9.71k|    do {                                                                                           \
  |  |  142|  9.71k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  9.71k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  9.71k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  9.71k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 9.71k]
  |  |  ------------------
  |  |  146|  9.71k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  9.71k|        pb->assertPacker();                                                                        \
  |  |  149|  9.71k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  9.71k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 6, False: 9.71k]
  |  |  ------------------
  |  |  151|  9.71k|            return pb.release(); /* success */                                                     \
  |  |  152|  9.71k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.71k]
  |  |  ------------------
  |  |  153|  9.71k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  9.71k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 9.71k]
  |  |  ------------------
  ------------------
  211|  9.71k|        VISIT(PackLinuxI386sh);
  ------------------
  |  |  141|  9.71k|    do {                                                                                           \
  |  |  142|  9.71k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  9.71k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  9.71k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  9.71k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 9.71k]
  |  |  ------------------
  |  |  146|  9.71k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  9.71k|        pb->assertPacker();                                                                        \
  |  |  149|  9.71k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  9.71k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 59, False: 9.65k]
  |  |  ------------------
  |  |  151|  9.71k|            return pb.release(); /* success */                                                     \
  |  |  152|  9.71k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 9.65k]
  |  |  ------------------
  |  |  153|  9.65k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  9.65k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 9.65k]
  |  |  ------------------
  ------------------
  212|  9.71k|    }
  213|  10.2k|    VISIT(PackBSDI386);
  ------------------
  |  |  141|  10.2k|    do {                                                                                           \
  |  |  142|  10.2k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  10.2k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  10.2k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  10.2k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  146|  10.2k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  10.2k|        pb->assertPacker();                                                                        \
  |  |  149|  10.2k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  10.2k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 1, False: 10.2k]
  |  |  ------------------
  |  |  151|  10.2k|            return pb.release(); /* success */                                                     \
  |  |  152|  10.2k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  153|  10.2k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  10.2k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 10.2k]
  |  |  ------------------
  ------------------
  214|  10.2k|    VISIT(PackMachFat);   // cafebabe conflict
  ------------------
  |  |  141|  10.2k|    do {                                                                                           \
  |  |  142|  10.2k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  10.2k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  10.2k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  10.2k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  146|  10.2k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  10.2k|        pb->assertPacker();                                                                        \
  |  |  149|  10.2k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  10.2k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 20, False: 10.2k]
  |  |  ------------------
  |  |  151|  10.2k|            return pb.release(); /* success */                                                     \
  |  |  152|  10.2k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  153|  10.2k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  10.2k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 10.2k]
  |  |  ------------------
  ------------------
  215|  10.2k|    VISIT(PackLinuxI386); // cafebabe conflict
  ------------------
  |  |  141|  10.2k|    do {                                                                                           \
  |  |  142|  10.2k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  10.2k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  10.2k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  10.2k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  146|  10.2k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  10.2k|        pb->assertPacker();                                                                        \
  |  |  149|  10.2k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  10.2k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 1.24k, False: 8.95k]
  |  |  ------------------
  |  |  151|  10.2k|            return pb.release(); /* success */                                                     \
  |  |  152|  10.2k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.95k]
  |  |  ------------------
  |  |  153|  8.95k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  8.95k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 8.95k]
  |  |  ------------------
  ------------------
  216|       |
  217|       |    //
  218|       |    // Mach (Darwin / macOS)
  219|       |    //
  220|  8.95k|    VISIT(PackDylibAMD64);
  ------------------
  |  |  141|  8.95k|    do {                                                                                           \
  |  |  142|  8.95k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  8.95k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  8.95k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  8.95k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 8.95k]
  |  |  ------------------
  |  |  146|  8.95k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  8.95k|        pb->assertPacker();                                                                        \
  |  |  149|  8.95k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  8.95k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 2, False: 8.95k]
  |  |  ------------------
  |  |  151|  8.95k|            return pb.release(); /* success */                                                     \
  |  |  152|  8.95k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.95k]
  |  |  ------------------
  |  |  153|  8.95k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  8.95k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 8.95k]
  |  |  ------------------
  ------------------
  221|  8.95k|    VISIT(PackMachPPC32); // TODO: this works with upx 3.91..3.94 but got broken in 3.95; FIXME
  ------------------
  |  |  141|  8.95k|    do {                                                                                           \
  |  |  142|  8.95k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  8.95k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  8.95k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  8.95k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 8.95k]
  |  |  ------------------
  |  |  146|  8.95k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  8.95k|        pb->assertPacker();                                                                        \
  |  |  149|  8.95k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  8.95k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 126, False: 8.82k]
  |  |  ------------------
  |  |  151|  8.95k|            return pb.release(); /* success */                                                     \
  |  |  152|  8.95k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.82k]
  |  |  ------------------
  |  |  153|  8.82k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  8.82k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 8.82k]
  |  |  ------------------
  ------------------
  222|  8.82k|    VISIT(PackMachI386);
  ------------------
  |  |  141|  8.82k|    do {                                                                                           \
  |  |  142|  8.82k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  8.82k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  8.82k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  8.82k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 8.82k]
  |  |  ------------------
  |  |  146|  8.82k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  8.82k|        pb->assertPacker();                                                                        \
  |  |  149|  8.82k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  8.82k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 1, False: 8.82k]
  |  |  ------------------
  |  |  151|  8.82k|            return pb.release(); /* success */                                                     \
  |  |  152|  8.82k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.82k]
  |  |  ------------------
  |  |  153|  8.82k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  8.82k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 8.82k]
  |  |  ------------------
  ------------------
  223|  8.82k|    VISIT(PackMachAMD64);
  ------------------
  |  |  141|  8.82k|    do {                                                                                           \
  |  |  142|  8.82k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  8.82k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  8.82k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  8.82k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 8.82k]
  |  |  ------------------
  |  |  146|  8.82k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  8.82k|        pb->assertPacker();                                                                        \
  |  |  149|  8.82k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  8.82k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 27, False: 8.80k]
  |  |  ------------------
  |  |  151|  8.82k|            return pb.release(); /* success */                                                     \
  |  |  152|  8.82k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.80k]
  |  |  ------------------
  |  |  153|  8.80k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  8.80k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 8.80k]
  |  |  ------------------
  ------------------
  224|  8.80k|    VISIT(PackMachARMEL);
  ------------------
  |  |  141|  8.80k|    do {                                                                                           \
  |  |  142|  8.80k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  8.80k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  8.80k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  8.80k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 8.80k]
  |  |  ------------------
  |  |  146|  8.80k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  8.80k|        pb->assertPacker();                                                                        \
  |  |  149|  8.80k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  8.80k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 121, False: 8.67k]
  |  |  ------------------
  |  |  151|  8.80k|            return pb.release(); /* success */                                                     \
  |  |  152|  8.80k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 8.67k]
  |  |  ------------------
  |  |  153|  8.67k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  8.67k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 8.67k]
  |  |  ------------------
  ------------------
  225|  8.67k|    VISIT(PackMachARM64EL);
  ------------------
  |  |  141|  8.67k|    do {                                                                                           \
  |  |  142|  8.67k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  8.67k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  8.67k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  8.67k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 8.67k]
  |  |  ------------------
  |  |  146|  8.67k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  8.67k|        pb->assertPacker();                                                                        \
  |  |  149|  8.67k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  8.67k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 741, False: 7.93k]
  |  |  ------------------
  |  |  151|  8.67k|            return pb.release(); /* success */                                                     \
  |  |  152|  8.67k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 7.93k]
  |  |  ------------------
  |  |  153|  7.93k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  7.93k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 7.93k]
  |  |  ------------------
  ------------------
  226|       |
  227|       |    // 2010-03-12  omit these because PackMachBase<T>::pack4dylib (p_mach.cpp)
  228|       |    // does not understand what the Darwin (Apple Mac OS X) dynamic loader
  229|       |    // assumes about .dylib file structure.
  230|       |    //   VISIT(PackDylibI386);
  231|       |    //   VISIT(PackDylibPPC32);
  232|       |
  233|       |    //
  234|       |    // misc
  235|       |    //
  236|  7.93k|    VISIT(PackTos);   // atari/tos
  ------------------
  |  |  141|  7.93k|    do {                                                                                           \
  |  |  142|  7.93k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  7.93k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  7.93k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  7.93k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 7.93k]
  |  |  ------------------
  |  |  146|  7.93k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  7.93k|        pb->assertPacker();                                                                        \
  |  |  149|  7.93k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  7.93k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 11, False: 7.92k]
  |  |  ------------------
  |  |  151|  7.93k|            return pb.release(); /* success */                                                     \
  |  |  152|  7.93k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 7.92k]
  |  |  ------------------
  |  |  153|  7.92k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  7.92k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 7.92k]
  |  |  ------------------
  ------------------
  237|  7.92k|    VISIT(PackPs1);   // ps1/exe
  ------------------
  |  |  141|  7.92k|    do {                                                                                           \
  |  |  142|  7.92k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  7.92k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  7.92k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  7.92k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 7.92k]
  |  |  ------------------
  |  |  146|  7.92k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  7.92k|        pb->assertPacker();                                                                        \
  |  |  149|  7.92k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  7.92k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 2, False: 7.92k]
  |  |  ------------------
  |  |  151|  7.92k|            return pb.release(); /* success */                                                     \
  |  |  152|  7.92k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 7.92k]
  |  |  ------------------
  |  |  153|  7.92k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  7.92k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 7.92k]
  |  |  ------------------
  ------------------
  238|  7.92k|    VISIT(PackSys);   // dos/sys
  ------------------
  |  |  141|  7.92k|    do {                                                                                           \
  |  |  142|  7.92k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  7.92k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  7.92k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  7.92k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 7.92k]
  |  |  ------------------
  |  |  146|  7.92k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  7.92k|        pb->assertPacker();                                                                        \
  |  |  149|  7.92k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  7.92k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 11, False: 7.91k]
  |  |  ------------------
  |  |  151|  7.92k|            return pb.release(); /* success */                                                     \
  |  |  152|  7.92k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 7.91k]
  |  |  ------------------
  |  |  153|  7.91k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  7.91k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 7.91k]
  |  |  ------------------
  ------------------
  239|  7.91k|    VISIT(PackCom);   // dos/com
  ------------------
  |  |  141|  7.91k|    do {                                                                                           \
  |  |  142|  7.91k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  7.91k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  7.91k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  7.91k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 7.91k]
  |  |  ------------------
  |  |  146|  7.91k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  7.91k|        pb->assertPacker();                                                                        \
  |  |  149|  7.91k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  7.91k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 42, False: 7.87k]
  |  |  ------------------
  |  |  151|  7.91k|            return pb.release(); /* success */                                                     \
  |  |  152|  7.91k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 7.87k]
  |  |  ------------------
  |  |  153|  7.87k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  7.87k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 7.87k]
  |  |  ------------------
  ------------------
  240|  7.87k|    VISIT(PackCpm86); // cpm86/cmd
  ------------------
  |  |  141|  7.87k|    do {                                                                                           \
  |  |  142|  7.87k|        static_assert(std::is_class_v<Klass>);                                                     \
  |  |  143|  7.87k|        static_assert(std::is_nothrow_destructible_v<Klass>);                                      \
  |  |  144|  7.87k|        auto pb = std::unique_ptr<PackerBase>(new Klass(f));                                       \
  |  |  145|  7.87k|        if (o->debug.debug_level)                                                                  \
  |  |  ------------------
  |  |  |  Branch (145:13): [True: 0, False: 7.87k]
  |  |  ------------------
  |  |  146|  7.87k|            fprintf(stderr, "visitAllPackers: (ver=%d, fmt=%3d) %s\n", pb->getVersion(),           \
  |  |  147|      0|                    pb->getFormat(), #Klass);                                                      \
  |  |  148|  7.87k|        pb->assertPacker();                                                                        \
  |  |  149|  7.87k|        tribool r = func(pb.get(), user);                                                          \
  |  |  150|  7.87k|        if (r)                                                                                     \
  |  |  ------------------
  |  |  |  Branch (150:13): [True: 0, False: 7.87k]
  |  |  ------------------
  |  |  151|  7.87k|            return pb.release(); /* success */                                                     \
  |  |  152|  7.87k|        if (r.isThird())                                                                           \
  |  |  ------------------
  |  |  |  Branch (152:13): [True: 0, False: 7.87k]
  |  |  ------------------
  |  |  153|  7.87k|            return nullptr; /* stop and fail early */                                              \
  |  |  154|  7.87k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (154:14): [Folded, False: 7.87k]
  |  |  ------------------
  ------------------
  241|       |
  242|  7.87k|    return nullptr;
  243|  7.87k|#undef VISIT
  244|  7.87k|}
_ZN10PackMaster11getUnpackerEP9InputFile:
  253|  14.1k|/*static*/ PackerBase *PackMaster::getUnpacker(InputFile *f) may_throw {
  254|  14.1k|    PackerBase *pb = visitAllPackers(try_can_unpack, f, opt, f);
  255|  14.1k|    if (!pb)
  ------------------
  |  Branch (255:9): [True: 2.35k, False: 11.7k]
  ------------------
  256|  2.35k|        throwNotPacked();
  257|  11.7k|    return pb;
  258|  14.1k|}
_ZN10PackMaster6unpackEP10OutputFile:
  270|  14.1k|void PackMaster::unpack(OutputFile *fo) may_throw {
  271|  14.1k|    assert(packer == nullptr);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  272|      0|    packer = getUnpacker(fi);
  273|  14.1k|    packer->doUnpack(fo);
  274|  14.1k|}
packmast.cpp:_ZL14try_can_unpackP10PackerBasePv:
  115|   409k|static noinline tribool try_can_unpack(PackerBase *pb, void *user) may_throw {
  116|   409k|    InputFile *f = (InputFile *) user;
  117|   409k|    try {
  118|   409k|        pb->initPackHeader();
  119|   409k|        f->seek(0, SEEK_SET);
  120|   409k|        tribool r = pb->canUnpack();
  121|   409k|        if (r) {
  ------------------
  |  Branch (121:13): [True: 6.18k, False: 403k]
  ------------------
  122|  6.18k|            f->seek(0, SEEK_SET);
  123|  6.18k|            return true; // success
  124|  6.18k|        }
  125|   403k|        if (r.isThird()) // aka "-1"
  ------------------
  |  Branch (125:13): [True: 69, False: 403k]
  ------------------
  126|     69|            return r;    // canUnpack() says the format is recognized and we should fail early
  127|   403k|    } catch (const IOException &) {
  128|       |        // ignored
  129|  28.1k|    }
  130|   400k|    return false;
  131|   409k|}

_ZN6PeFileC2EP9InputFile:
   71|  40.0k|PeFile::PeFile(InputFile *f) : super(f) {
   72|  40.0k|    bele = &N_BELE_RTP::le_policy;
   73|  40.0k|    COMPILE_TIME_ASSERT(sizeof(ddirs_t) == 8)
  ------------------
  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   74|  40.0k|    COMPILE_TIME_ASSERT(sizeof(import_desc) == 20)
  ------------------
  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   75|  40.0k|    COMPILE_TIME_ASSERT(sizeof(pe_section_t) == 40)
  ------------------
  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   76|  40.0k|    COMPILE_TIME_ASSERT_ALIGNED1(ddirs_t)
  ------------------
  |  |  446|  40.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  40.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  40.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  40.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  40.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  40.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  40.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  40.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  40.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  40.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  40.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  40.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  40.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  40.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  40.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  40.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  40.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  40.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   77|  40.0k|    COMPILE_TIME_ASSERT_ALIGNED1(import_desc)
  ------------------
  |  |  446|  40.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  40.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  40.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  40.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  40.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  40.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  40.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  40.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  40.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  40.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  40.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  40.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  40.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  40.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  40.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  40.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  40.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  40.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   78|  40.0k|    COMPILE_TIME_ASSERT_ALIGNED1(pe_section_t)
  ------------------
  |  |  446|  40.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  40.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  40.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  40.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  40.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  40.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  40.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  40.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  40.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  40.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  40.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  40.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  40.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  40.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  40.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  40.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  40.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  40.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   79|  40.0k|    COMPILE_TIME_ASSERT(RT_LAST == TABLESIZE(opt->win32_pe.compress_rt))
  ------------------
  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   80|       |
   81|  40.0k|    isection = nullptr;
   82|  40.0k|    oimport = nullptr;
   83|  40.0k|    oimpdlls = nullptr;
   84|  40.0k|    orelocs = nullptr;
   85|  40.0k|    oexport = nullptr;
   86|  40.0k|    otls = nullptr;
   87|  40.0k|    oresources = nullptr;
   88|  40.0k|    oxrelocs = nullptr;
   89|  40.0k|    icondir_offset = 0;
   90|  40.0k|    icondir_count = 0;
   91|  40.0k|    importbyordinal = false;
   92|  40.0k|    kernel32ordinal = false;
   93|  40.0k|    tlsindex = 0;
   94|  40.0k|    big_relocs = 0;
   95|  40.0k|    sorelocs = 0;
   96|  40.0k|    soxrelocs = 0;
   97|  40.0k|    sotls = 0;
   98|  40.0k|    ilinker = nullptr;
   99|  40.0k|    use_tls_callbacks = false;
  100|  40.0k|    oloadconf = nullptr;
  101|  40.0k|    soloadconf = 0;
  102|  40.0k|    dbgCET = nullptr;
  103|       |
  104|  40.0k|    isdll = false;
  105|  40.0k|    isrtm = false;
  106|  40.0k|    isefi = false;
  107|  40.0k|    use_dep_hack = true;
  108|  40.0k|    use_clear_dirty_stack = true;
  109|  40.0k|    use_stub_relocs = true;
  110|  40.0k|}
_ZNK6PeFile17testUnpackVersionEi:
  112|    142|bool PeFile::testUnpackVersion(int version) const {
  113|    142|    if (version != ph_version && ph_version != -1)
  ------------------
  |  Branch (113:9): [True: 142, False: 0]
  |  Branch (113:34): [True: 0, False: 142]
  ------------------
  114|      0|        throwCantUnpack("program has been modified; run a virus checker!");
  115|    142|    if (!canUnpackVersion(version))
  ------------------
  |  Branch (115:9): [True: 3, False: 139]
  ------------------
  116|      3|        throwCantUnpack("this program is packed with an obsolete version and cannot be unpacked");
  117|    139|    return true;
  118|    142|}
_ZN6PeFile12checkMachineEj:
  129|    602|/*static*/ int PeFile::checkMachine(unsigned cpu) {
  130|       |    // unsupported
  131|    602|    if (cpu == IMAGE_FILE_MACHINE_IA64)
  ------------------
  |  Branch (131:9): [True: 1, False: 601]
  ------------------
  132|      1|        throwCantPack("win64/ia64 is not supported");
  133|    601|    if (cpu == IMAGE_FILE_MACHINE_LOONGARCH64)
  ------------------
  |  Branch (133:9): [True: 1, False: 600]
  ------------------
  134|      1|        throwCantPack("win64/loong64 is not supported");
  135|    600|    if (cpu == IMAGE_FILE_MACHINE_RISCV64)
  ------------------
  |  Branch (135:9): [True: 1, False: 599]
  ------------------
  136|      1|        throwCantPack("win64/riscv64 is not supported");
  137|       |
  138|       |    // known but not (yet?) supported
  139|    599|    if (cpu == IMAGE_FILE_MACHINE_ARMNT)
  ------------------
  |  Branch (139:9): [True: 1, False: 598]
  ------------------
  140|      1|        throwCantPack("win32/armnt is not supported"); // obsolete
  141|    598|    if (cpu == IMAGE_FILE_MACHINE_ARM64)
  ------------------
  |  Branch (141:9): [True: 1, False: 597]
  ------------------
  142|      1|        throwCantPack("win64/arm64 is not yet supported");
  143|       |    // FIXME: it seems that arm64ec actually uses MACHINE_AMD64 ???
  144|    597|    if (cpu == IMAGE_FILE_MACHINE_ARM64EC)
  ------------------
  |  Branch (144:9): [True: 1, False: 596]
  ------------------
  145|      1|        throwCantPack("win64/arm64ec is not yet supported");
  146|       |
  147|       |    // supported
  148|    596|    if (cpu == IMAGE_FILE_MACHINE_AMD64)
  ------------------
  |  Branch (148:9): [True: 119, False: 477]
  ------------------
  149|    119|        return UPX_F_W64PE_AMD64;
  ------------------
  |  |  586|    119|#define UPX_F_W64PE_AMD64         36
  ------------------
  150|    477|    if (cpu == IMAGE_FILE_MACHINE_ARM || cpu == IMAGE_FILE_MACHINE_THUMB)
  ------------------
  |  Branch (150:9): [True: 119, False: 358]
  |  Branch (150:42): [True: 11, False: 347]
  ------------------
  151|    130|        return UPX_F_WINCE_ARM;
  ------------------
  |  |  571|    130|#define UPX_F_WINCE_ARM           21 // Windows CE
  ------------------
  152|    347|    if (cpu >= IMAGE_FILE_MACHINE_I386 && cpu <= 0x150) // what is this 0x150 ???
  ------------------
  |  Branch (152:9): [True: 341, False: 6]
  |  Branch (152:43): [True: 313, False: 28]
  ------------------
  153|    313|        return UPX_F_W32PE_I386;
  ------------------
  |  |  559|    313|#define UPX_F_W32PE_I386          9
  ------------------
  154|       |
  155|       |    // other or unknown (alpha, mips, powerpc, sh, etc.)
  156|     34|    throwCantPack("pefile: unsupported machine %#x", cpu);
  157|      0|    return 0; // pacify msvc
  158|    347|}
_ZN6PeFile14readFileHeaderEv:
  160|  40.0k|int PeFile::readFileHeader() {
  161|  40.0k|    struct alignas(1) ExeHeader final {
  162|  40.0k|        LE16 mz;
  163|  40.0k|        LE16 m512;
  164|  40.0k|        LE16 p512;
  165|  40.0k|        char _[18];
  166|  40.0k|        LE16 relocoffs;
  167|  40.0k|        char __[34];
  168|  40.0k|        LE32 nexepos;
  169|  40.0k|    };
  170|       |
  171|  40.0k|    COMPILE_TIME_ASSERT(sizeof(ExeHeader) == 64)
  ------------------
  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  172|  40.0k|    COMPILE_TIME_ASSERT_ALIGNED1(ExeHeader)
  ------------------
  |  |  446|  40.0k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  40.0k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  40.0k|    {                                                                                              \
  |  |  |  |  |  |  429|  40.0k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  40.0k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  40.0k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  40.0k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  40.0k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  40.0k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  40.0k|        };                                                                                         \
  |  |  |  |  |  |  436|  40.0k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  40.0k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  40.0k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  40.0k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  40.0k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  40.0k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  40.0k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  40.0k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  173|  40.0k|    COMPILE_TIME_ASSERT(sizeof(((ExeHeader *) nullptr)->_) == 18)
  ------------------
  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  174|  40.0k|    COMPILE_TIME_ASSERT(sizeof(((ExeHeader *) nullptr)->__) == 34)
  ------------------
  |  |  247|  40.0k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  40.0k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  175|       |
  176|  40.0k|    ExeHeader h;
  177|  40.0k|    int ic;
  178|  40.0k|    pe_offset = 0;
  179|       |
  180|  45.6k|    for (ic = 0; ic < 20; ic++) {
  ------------------
  |  Branch (180:18): [True: 45.3k, False: 231]
  ------------------
  181|  45.3k|        fi->seek(pe_offset, SEEK_SET);
  182|  45.3k|        fi->readx(&h, sizeof(h));
  183|       |
  184|  45.3k|        if (h.mz == 'M' + 'Z' * 256) // dos exe
  ------------------
  |  Branch (184:13): [True: 5.63k, False: 39.7k]
  ------------------
  185|  5.63k|        {
  186|  5.63k|            if (h.nexepos && h.nexepos < sizeof(ExeHeader)) {
  ------------------
  |  Branch (186:17): [True: 987, False: 4.64k]
  |  Branch (186:30): [True: 6, False: 981]
  ------------------
  187|       |                // Overlapping MZ and PE headers by 'leanify', etc.
  188|      6|                char buf[64];
  189|      6|                snprintf(buf, sizeof(buf), "PE and MZ header overlap: %#x < %#x",
  ------------------
  |  |   75|      6|#define snprintf  upx_safe_snprintf
  ------------------
  190|      6|                         (unsigned) h.nexepos, (unsigned) sizeof(ExeHeader));
  191|      6|                throwCantPack(buf);
  192|      6|            }
  193|  5.62k|            const unsigned delta = (h.relocoffs >= 0x40)
  ------------------
  |  Branch (193:36): [True: 3.42k, False: 2.20k]
  ------------------
  194|  5.62k|                                       ? h.nexepos // new format exe
  195|  5.62k|                                       : (h.p512 * 512 + h.m512 - h.m512 ? 512 : h.nexepos);
  ------------------
  |  Branch (195:43): [True: 247, False: 1.95k]
  ------------------
  196|       |
  197|  5.62k|            if ((pe_offset + delta) < delta // wrap-around
  ------------------
  |  Branch (197:17): [True: 9, False: 5.61k]
  ------------------
  198|  5.61k|                || (pe_offset + delta) > file_size_u) {
  ------------------
  |  Branch (198:20): [True: 78, False: 5.54k]
  ------------------
  199|     87|                char buf[64];
  200|     87|                snprintf(buf, sizeof(buf), "bad PE delta %#x at offset %#x", delta, pe_offset);
  ------------------
  |  |   75|     87|#define snprintf  upx_safe_snprintf
  ------------------
  201|     87|                throwCantPack(buf);
  202|     87|            }
  203|  5.54k|            pe_offset += delta;
  204|  39.7k|        } else if (get_le32((const byte *) &h) == 'P' + 'E' * 256)
  ------------------
  |  Branch (204:20): [True: 609, False: 39.1k]
  ------------------
  205|    609|            break;
  206|  39.1k|        else
  207|  39.1k|            return 0;
  208|  45.3k|    }
  209|    840|    if (ic == 20)
  ------------------
  |  Branch (209:9): [True: 231, False: 609]
  ------------------
  210|    231|        return 0;
  211|    609|    fi->seek(pe_offset, SEEK_SET);
  212|    609|    readPeHeader();
  213|    609|    return getFormat();
  214|    840|}
_ZN6PeFile5Reloc15RelocationBlock5resetEv:
  296|      6|void PeFile::Reloc::RelocationBlock::reset() noexcept {
  297|      6|    rel = nullptr;  // SPAN_0
  298|      6|    rel1 = nullptr; // SPAN_0
  299|      6|    count = 0;
  300|      6|}
_ZN6PeFile5RelocD2Ev:
  329|      3|PeFile::Reloc::~Reloc() noexcept {
  330|      3|    COMPILE_TIME_ASSERT(sizeof(BaseReloc) == 8)
  ------------------
  |  |  247|      3|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|      3|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  331|      3|    COMPILE_TIME_ASSERT_ALIGNED1(BaseReloc)
  ------------------
  |  |  446|      3|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|      3|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|      3|    {                                                                                              \
  |  |  |  |  |  |  429|      3|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|      3|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|      3|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|      3|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|      3|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|      3|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|      3|        };                                                                                         \
  |  |  |  |  |  |  436|      3|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|      3|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|      3|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|      3|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|      3|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|      3|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|      3|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|      3|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|      3|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|      3|    }
  |  |  |  |  ------------------
  |  |  |  |  444|      3|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|      3|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|      3|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|      3|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|      3|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|      3|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  332|      3|    if (start_did_alloc) // don't leak memory on exceptions
  ------------------
  |  Branch (332:9): [True: 0, False: 3]
  ------------------
  333|      0|        delete[] start;
  334|      3|}
_ZN6PeFile5RelocC2Ej:
  348|      3|PeFile::Reloc::Reloc(unsigned relocnum) {
  349|      3|    start_size_in_bytes = mem_size(RELOC_ENTRY_SIZE, relocnum, RELOC_INPLACE_OFFSET, 8192);
  350|      3|    start = new byte[start_size_in_bytes]; // => transfer ownership to oxrelocs[] in finish()
  351|      3|    start_did_alloc = true;
  352|      3|    initSpans();
  353|      3|}
_ZN6PeFile5Reloc9initSpansEv:
  355|      3|void PeFile::Reloc::initSpans() {
  356|      3|    start_buf = SPAN_S_MAKE(byte, start, start_size_in_bytes); // => now is a SPAN_S
  ------------------
  |  |  210|      3|#define SPAN_S_MAKE     XSPAN_S_MAKE
  |  |  ------------------
  |  |  |  |   97|      3|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      3|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      3|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  357|      3|    rb.rel = SPAN_TYPE_CAST(BaseReloc, start_buf);             // SPAN_0
  ------------------
  |  |  216|      3|#define SPAN_TYPE_CAST  XSPAN_TYPE_CAST
  |  |  ------------------
  |  |  |  |  120|      3|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  |  |  ------------------
  ------------------
  358|      3|    rb.rel1 = SPAN_TYPE_CAST(LE16, start_buf);                 // SPAN_0
  ------------------
  |  |  216|      3|#define SPAN_TYPE_CAST  XSPAN_TYPE_CAST
  |  |  ------------------
  |  |  |  |  120|      3|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  |  |  ------------------
  ------------------
  359|      3|    rb.reset();
  360|      3|}
_ZN6PeFile5Reloc9add_relocEjj:
  426|  32.4k|void PeFile::Reloc::add_reloc(unsigned pos, unsigned reloc_type) {
  427|  32.4k|    assert(start_did_alloc);
  ------------------
  |  |  493|  32.4k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 32.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  428|       |    // assert(reloc_type != IMAGE_REL_BASED_IGNORE);
  429|  32.4k|    if (reloc_type == IMAGE_REL_BASED_IGNORE)
  ------------------
  |  Branch (429:9): [True: 0, False: 32.4k]
  ------------------
  430|      0|        return;
  431|  32.4k|    auto entry_ptr = start_buf + mem_size(RELOC_ENTRY_SIZE, counts[0], RELOC_INPLACE_OFFSET);
  432|  32.4k|    reloc_entry_encode(entry_ptr, pos, reloc_type);
  433|  32.4k|    counts[0] += 1;
  434|  32.4k|}
_ZN6PeFile5Reloc6finishERPhRj:
  436|      3|void PeFile::Reloc::finish(byte *(&result_ptr), unsigned &result_size) {
  437|      3|    assert(start_did_alloc);
  ------------------
  |  |  493|      3|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      6|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|       |    // sort in-place relocs
  439|      3|    upx_qsort(
  ------------------
  |  |  220|      3|#define upx_qsort ::qsort
  ------------------
  440|      3|        raw_index_bytes(start_buf, RELOC_INPLACE_OFFSET, mem_size(RELOC_ENTRY_SIZE, counts[0])),
  441|      3|        counts[0], RELOC_ENTRY_SIZE, reloc_entry_compare);
  442|       |
  443|      3|    auto finish_block = [](SPAN_S(BaseReloc) rel) -> byte * {
  444|      3|        unsigned sob = rel->size_of_block;
  445|      3|        assert(sob >= 10 && (sob & 1) == 0);
  446|      3|        auto end = SPAN_TYPE_CAST(byte, rel) + sob;
  447|      3|        while ((sob & 3) != 0) { // UPX: we want align by 4 here
  448|      3|            *end++ = 0;          // clear byte (i.e. write IMAGE_REL_BASED_IGNORE)
  449|      3|            sob += 1;
  450|      3|        }
  451|      3|        rel->size_of_block = sob;
  452|      3|        return raw_bytes(end, 0);
  453|      3|    };
  454|       |
  455|      3|    rb.reset();
  456|      3|    unsigned prev_pos = 0;
  457|      3|    unsigned current_page = 0;
  458|  32.4k|    for (unsigned ic = 0; ic < counts[0]; ic++) {
  ------------------
  |  Branch (458:27): [True: 32.4k, False: 3]
  ------------------
  459|  32.4k|        const auto entry_ptr = start_buf + mem_size(RELOC_ENTRY_SIZE, ic, RELOC_INPLACE_OFFSET);
  460|  32.4k|        unsigned pos, reloc_type;
  461|  32.4k|        reloc_entry_decode(entry_ptr, &pos, &reloc_type);
  462|  32.4k|        if (ic > 0 && pos == prev_pos) {
  ------------------
  |  Branch (462:13): [True: 32.4k, False: 3]
  |  Branch (462:23): [True: 0, False: 32.4k]
  ------------------
  463|      0|            if (ALWAYS_CHECK_STRICT_RELOCS)
  ------------------
  |  Branch (463:17): [True: 0, Folded]
  ------------------
  464|      0|                throwCantPack("duplicate relocs");
  465|      0|            else if (!opt->force)
  ------------------
  |  Branch (465:22): [True: 0, False: 0]
  ------------------
  466|      0|                throwCantPack("duplicate relocs (try --force)");
  467|      0|        }
  468|  32.4k|        prev_pos = pos;
  469|  32.4k|        if (ic == 0 || pos - current_page >= 0x1000) {
  ------------------
  |  Branch (469:13): [True: 3, False: 32.4k]
  |  Branch (469:24): [True: 345, False: 32.1k]
  ------------------
  470|    348|            current_page = pos & ~0xfff; // page start
  471|       |            // prepare next block for writing
  472|    348|            byte *next_rb = (rb.rel == nullptr) ? start : finish_block(rb.rel);
  ------------------
  |  Branch (472:29): [True: 3, False: 345]
  ------------------
  473|    348|            rb.rel = (BaseReloc *) next_rb;
  474|    348|            rb.rel1 = (LE16 *) (next_rb + 8);
  475|    348|            rb.rel->virtual_address = current_page;
  476|    348|            rb.rel->size_of_block = 8;
  477|    348|        }
  478|       |        // check for in-place overflow
  479|  32.4k|        if (ptr_diff_bytes(rb.rel1, entry_ptr) >= 0) {
  ------------------
  |  Branch (479:13): [True: 0, False: 32.4k]
  ------------------
  480|       |            // info: if this is indeed a valid file we must increase RELOC_INPLACE_OFFSET
  481|      0|            throwCantPack("too many inplace relocs");
  482|      0|        }
  483|       |        // write LE16 IMAGE_BASE_RELOCATION relocation
  484|  32.4k|        *rb.rel1++ = (reloc_type << 12) | (pos & 0xfff);
  485|  32.4k|        rb.rel->size_of_block += 2;
  486|  32.4k|    }
  487|      3|    result_size = 0; // result_size can be 0 in 64-bit mode
  488|      3|    if (rb.rel != nullptr)
  ------------------
  |  Branch (488:9): [True: 3, False: 0]
  ------------------
  489|      3|        result_size = ptr_udiff_bytes(finish_block(rb.rel), start);
  490|      3|    assert((result_size & 3) == 0);
  ------------------
  |  |  493|      3|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      6|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  491|       |    // transfer ownership
  492|      3|    assert(start_did_alloc);
  ------------------
  |  |  493|      3|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      6|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  493|      0|    result_ptr = start;
  494|      3|    start_did_alloc = false;
  495|      3|#if DEBUG || 1 // safety, as we are really finished
  496|      3|    ptr_invalidate_and_poison(start);
  497|      3|    start_size_in_bytes = 0;
  498|      3|    SPAN_INVALIDATE(start_buf);
  ------------------
  |  |  218|      3|#define SPAN_INVALIDATE XSPAN_INVALIDATE
  |  |  ------------------
  |  |  |  |  126|      3|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  |  |  ------------------
  ------------------
  499|      3|    SPAN_INVALIDATE(rb.rel);
  ------------------
  |  |  218|      3|#define SPAN_INVALIDATE XSPAN_INVALIDATE
  |  |  ------------------
  |  |  |  |  126|      3|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  |  |  ------------------
  ------------------
  500|      3|    SPAN_INVALIDATE(rb.rel1);
  ------------------
  |  |  218|      3|#define SPAN_INVALIDATE XSPAN_INVALIDATE
  |  |  ------------------
  |  |  |  |  126|      3|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  |  |  ------------------
  ------------------
  501|      3|    rb.count = 0xdeaddead;
  502|      3|#endif
  503|      3|}
_ZN6PeFile6IDSIZEEj:
  710|    287|LE32 &PeFile::IDSIZE(unsigned x) { return iddirs[x].size; }
_ZN6PeFile6IDADDREj:
  711|    244|LE32 &PeFile::IDADDR(unsigned x) { return iddirs[x].vaddr; }
_ZN6PeFile6ODSIZEEj:
  712|    316|LE32 &PeFile::ODSIZE(unsigned x) { return oddirs[x].size; }
_ZN6PeFile6ODADDREj:
  713|    342|LE32 &PeFile::ODADDR(unsigned x) { return oddirs[x].vaddr; }
_ZN6PeFile8ResourceC2EPKhS2_S2_:
 1663|     53|PeFile::Resource::Resource(const byte *p, const byte *ibufstart_, const byte *ibufend_) {
 1664|     53|    ibufstart = ibufstart_;
 1665|     53|    ibufend = ibufend_;
 1666|     53|    newstart = nullptr;
 1667|     53|    init(p);
 1668|     53|}
_ZN6PeFile8ResourceD2Ev:
 1670|     36|PeFile::Resource::~Resource() noexcept {
 1671|     36|    if (root) {
  ------------------
  |  Branch (1671:9): [True: 18, False: 18]
  ------------------
 1672|     18|        destroy(root, 0);
 1673|     18|        root = nullptr;
 1674|     18|    }
 1675|     36|}
_ZNK6PeFile8Resource7dirsizeEv:
 1677|    107|unsigned PeFile::Resource::dirsize() const { return ALIGN_UP(dsize + ssize, 4u); }
  ------------------
  |  |  511|    107|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
_ZN6PeFile8Resource4nextEv:
 1679|     61|bool PeFile::Resource::next() {
 1680|       |    // wow, builtin autorewind... :-)
 1681|     61|    current = current ? current->next : head;
  ------------------
  |  Branch (1681:15): [True: 25, False: 36]
  ------------------
 1682|     61|    return current != nullptr;
 1683|     61|}
_ZNK6PeFile8Resource4sizeEv:
 1689|     39|unsigned PeFile::Resource::size() const { return ALIGN_UP(current->data.size, 4u); }
  ------------------
  |  |  511|     39|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
_ZNK6PeFile8Resource4offsEv:
 1691|    109|unsigned PeFile::Resource::offs() const { return current->data.offset; }
_ZN6PeFile8Resource7newoffsEv:
 1693|     25|unsigned &PeFile::Resource::newoffs() { return current->newoffset; }
_ZN6PeFile8Resource4initEPKh:
 1706|     53|void PeFile::Resource::init(const byte *res) {
 1707|     53|    COMPILE_TIME_ASSERT(sizeof(res_dir_entry) == 8)
  ------------------
  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
 1708|     53|    COMPILE_TIME_ASSERT(sizeof(res_dir) == 16 + 8)
  ------------------
  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
 1709|     53|    COMPILE_TIME_ASSERT(sizeof(res_data) == 16)
  ------------------
  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
 1710|     53|    COMPILE_TIME_ASSERT_ALIGNED1(res_dir_entry)
  ------------------
  |  |  446|     53|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|     53|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|     53|    {                                                                                              \
  |  |  |  |  |  |  429|     53|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|     53|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|     53|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|     53|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|     53|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|     53|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|     53|        };                                                                                         \
  |  |  |  |  |  |  436|     53|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|     53|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|     53|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|     53|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|     53|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|     53|    }
  |  |  |  |  ------------------
  |  |  |  |  444|     53|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|     53|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1711|     53|    COMPILE_TIME_ASSERT_ALIGNED1(res_dir)
  ------------------
  |  |  446|     53|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|     53|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|     53|    {                                                                                              \
  |  |  |  |  |  |  429|     53|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|     53|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|     53|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|     53|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|     53|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|     53|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|     53|        };                                                                                         \
  |  |  |  |  |  |  436|     53|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|     53|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|     53|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|     53|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|     53|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|     53|    }
  |  |  |  |  ------------------
  |  |  |  |  444|     53|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|     53|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1712|     53|    COMPILE_TIME_ASSERT_ALIGNED1(res_data)
  ------------------
  |  |  446|     53|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|     53|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|     53|    {                                                                                              \
  |  |  |  |  |  |  429|     53|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|     53|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|     53|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|     53|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|     53|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|     53|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|     53|        };                                                                                         \
  |  |  |  |  |  |  436|     53|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|     53|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|     53|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|     53|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|     53|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|     53|    }
  |  |  |  |  ------------------
  |  |  |  |  444|     53|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|     53|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|     53|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|     53|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1713|       |
 1714|     53|    start = res;
 1715|     53|    root = head = current = nullptr;
 1716|     53|    dsize = ssize = 0;
 1717|     53|    check((const res_dir *) start, 0);
 1718|     53|    root = convert(start, nullptr, 0);
 1719|     53|}
_ZN6PeFile8Resource5checkEPKNS0_7res_dirEj:
 1721|    160|void PeFile::Resource::check(const res_dir *node, unsigned level) {
 1722|    160|    ibufcheck(node, sizeof(*node));
 1723|    160|    int ic = node->identr + node->namedentr;
 1724|    160|    if (ic == 0)
  ------------------
  |  Branch (1724:9): [True: 23, False: 137]
  ------------------
 1725|     23|        return;
 1726|    555|    for (const res_dir_entry *rde = node->entries; --ic >= 0; rde++) {
  ------------------
  |  Branch (1726:52): [True: 424, False: 131]
  ------------------
 1727|    424|        ibufcheck(rde, sizeof(*rde));
 1728|    424|        if (((rde->child & 0x80000000) == 0) ^ (level == 2))
  ------------------
  |  Branch (1728:13): [True: 6, False: 418]
  ------------------
 1729|      6|            throwCantPack("unsupported resource structure");
 1730|    418|        else if (level != 2)
  ------------------
  |  Branch (1730:18): [True: 107, False: 311]
  ------------------
 1731|    107|            check((const res_dir *) (start + (rde->child & 0x7fffffff)), level + 1);
 1732|    424|    }
 1733|    137|}
_ZN6PeFile8Resource9ibufcheckEPKvj:
 1735|    766|void PeFile::Resource::ibufcheck(const void *m, unsigned siz) {
 1736|    766|    if (m < ibufstart || m > ibufend - siz)
  ------------------
  |  Branch (1736:9): [True: 0, False: 766]
  |  Branch (1736:26): [True: 7, False: 759]
  ------------------
 1737|      7|        throwCantUnpack("corrupted resources");
 1738|    766|}
_ZN6PeFile8Resource7convertEPKvPNS0_9upx_rnodeEj:
 1741|    181|                                                       unsigned level) {
 1742|    181|    if (level == 3) {
  ------------------
  |  Branch (1742:9): [True: 51, False: 130]
  ------------------
 1743|     51|        const res_data *node = ACC_STATIC_CAST(const res_data *, rnode);
  ------------------
  |  | 1472|     51|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1744|     51|        ibufcheck(node, sizeof(*node));
 1745|     51|        upx_rleaf *leaf = new upx_rleaf;
 1746|     51|        leaf->id = 0;
 1747|     51|        leaf->name = nullptr;
 1748|     51|        leaf->parent = parent;
 1749|     51|        leaf->next = head;
 1750|     51|        leaf->newoffset = 0;
 1751|     51|        leaf->data = *node;
 1752|       |
 1753|     51|        head = leaf; // append node to a linked list for traversal
 1754|     51|        dsize += sizeof(res_data);
 1755|     51|        return leaf;
 1756|     51|    }
 1757|       |
 1758|    130|    const res_dir *node = ACC_STATIC_CAST(const res_dir *, rnode);
  ------------------
  |  | 1472|    130|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1759|    130|    ibufcheck(node, sizeof(*node));
 1760|    130|    int ic = node->identr + node->namedentr;
 1761|    130|    if (ic == 0)
  ------------------
  |  Branch (1761:9): [True: 22, False: 108]
  ------------------
 1762|     22|        return nullptr;
 1763|       |
 1764|    108|    upx_rbranch *branch = new upx_rbranch;
 1765|    108|    branch->id = 0;
 1766|    108|    branch->name = nullptr;
 1767|    108|    branch->parent = parent;
 1768|    108|    branch->children = New0(upx_rnode *, ic);
  ------------------
  |  |  106|    108|#define New0(type, n) (New0T<type>((n)))
  ------------------
 1769|    108|    branch->nc = ic;
 1770|    108|    branch->data = *node;
 1771|    108|    if (!root)         // first one
  ------------------
  |  Branch (1771:9): [True: 26, False: 82]
  ------------------
 1772|     26|        root = branch; // prevent leak if xcheck throws (hacked unpack or test)
 1773|       |
 1774|    245|    for (const res_dir_entry *rde = node->entries + ic - 1; --ic >= 0; rde--) {
  ------------------
  |  Branch (1774:61): [True: 137, False: 108]
  ------------------
 1775|    137|        upx_rnode *child = convert(start + (rde->child & 0x7fffffff), branch, level + 1);
 1776|    137|        branch->children[ic] = child;
 1777|    137|        xcheck(child);
 1778|    137|        child->id = rde->tnl;
 1779|    137|        if (child->id & 0x80000000) {
  ------------------
  |  Branch (1779:13): [True: 1, False: 136]
  ------------------
 1780|      1|            const byte *p = start + (child->id & 0x7fffffff);
 1781|      1|            ibufcheck(p, 2);
 1782|      1|            const unsigned len = 2 + 2 * get_le16(p);
 1783|      1|            ibufcheck(p, len);
 1784|      1|            child->name = New(byte, len);
  ------------------
  |  |   90|      1|#define New(type, n) (NewT<type>((n)))
  ------------------
 1785|      1|            memcpy(child->name, p, len); // copy unicode string
 1786|      1|            ssize += len;                // size of unicode strings
 1787|      1|        }
 1788|    137|    }
 1789|    108|    dsize += node->Sizeof();
 1790|    108|    return branch;
 1791|    130|}
_ZN6PeFile8Resource5buildEPKNS0_9upx_rnodeERjS4_j:
 1794|     47|                             unsigned level) {
 1795|     47|    if (level == 3) {
  ------------------
  |  Branch (1795:9): [True: 14, False: 33]
  ------------------
 1796|     14|        if (bpos + sizeof(res_data) > dirsize())
  ------------------
  |  Branch (1796:13): [True: 0, False: 14]
  ------------------
 1797|      0|            throwCantUnpack("corrupted resources");
 1798|       |
 1799|     14|        res_data *l = (res_data *) (newstart + bpos);
 1800|     14|        const upx_rleaf *leaf = (const upx_rleaf *) node;
 1801|     14|        *l = leaf->data;
 1802|     14|        if (leaf->newoffset)
  ------------------
  |  Branch (1802:13): [True: 11, False: 3]
  ------------------
 1803|     11|            l->offset = leaf->newoffset;
 1804|     14|        bpos += sizeof(*l);
 1805|     14|        return;
 1806|     14|    }
 1807|     33|    if (bpos + sizeof(res_dir) > dirsize())
  ------------------
  |  Branch (1807:9): [True: 0, False: 33]
  ------------------
 1808|      0|        throwCantUnpack("corrupted resources");
 1809|       |
 1810|     33|    res_dir *const b = (res_dir *) (newstart + bpos);
 1811|     33|    const upx_rbranch *branch = (const upx_rbranch *) node;
 1812|     33|    *b = branch->data;
 1813|     33|    bpos += b->Sizeof();
 1814|     33|    res_dir_entry *be = b->entries;
 1815|     73|    for (unsigned ic = 0; ic < branch->nc; ic++, be++) {
  ------------------
  |  Branch (1815:27): [True: 40, False: 33]
  ------------------
 1816|     40|        xcheck(branch->children[ic]);
 1817|     40|        be->tnl = branch->children[ic]->id;
 1818|     40|        be->child = bpos + ((level < 2) ? 0x80000000 : 0);
  ------------------
  |  Branch (1818:29): [True: 26, False: 14]
  ------------------
 1819|       |
 1820|     40|        const byte *p;
 1821|     40|        if ((p = branch->children[ic]->name) != nullptr) {
  ------------------
  |  Branch (1821:13): [True: 0, False: 40]
  ------------------
 1822|      0|            be->tnl = spos + 0x80000000;
 1823|      0|            if (spos + get_le16(p) * 2 + 2 > dirsize())
  ------------------
  |  Branch (1823:17): [True: 0, False: 0]
  ------------------
 1824|      0|                throwCantUnpack("corrupted resources");
 1825|      0|            memcpy(newstart + spos, p, get_le16(p) * 2 + 2);
 1826|      0|            spos += get_le16(p) * 2 + 2;
 1827|      0|        }
 1828|       |
 1829|     40|        build(branch->children[ic], bpos, spos, level + 1);
 1830|     40|    }
 1831|     33|}
_ZN6PeFile8Resource5buildEv:
 1833|      7|byte *PeFile::Resource::build() {
 1834|      7|    mb_start.dealloc();
 1835|      7|    newstart = nullptr;
 1836|      7|    if (dirsize()) {
  ------------------
  |  Branch (1836:9): [True: 7, False: 0]
  ------------------
 1837|      7|        mb_start.alloc(dirsize());
 1838|      7|        newstart = static_cast<byte *>(mb_start.getVoidPtr());
 1839|      7|        unsigned bpos = 0, spos = dsize;
 1840|      7|        build(root, bpos, spos, 0);
 1841|       |
 1842|       |        // dirsize() is 4 bytes aligned, so we may need to zero
 1843|       |        // up to 2 bytes to make valgrind happy
 1844|      7|        while (spos < dirsize())
  ------------------
  |  Branch (1844:16): [True: 0, False: 7]
  ------------------
 1845|      0|            newstart[spos++] = 0;
 1846|      7|    }
 1847|       |
 1848|      7|    return newstart;
 1849|      7|}
_ZN6PeFile8Resource7destroyEPNS0_9upx_rnodeEj:
 1851|    131|void PeFile::Resource::destroy(upx_rnode *node, unsigned level) noexcept {
 1852|    131|    xcheck_noexcept(node);
 1853|    131|    if (level == 3) {
  ------------------
  |  Branch (1853:9): [True: 43, False: 88]
  ------------------
 1854|     43|        upx_rleaf *leaf = ACC_STATIC_CAST(upx_rleaf *, node);
  ------------------
  |  | 1472|     43|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1855|     43|        delete[] leaf->name;
 1856|     43|        leaf->name = nullptr;
 1857|     43|        delete leaf;
 1858|     88|    } else {
 1859|     88|        upx_rbranch *branch = ACC_STATIC_CAST(upx_rbranch *, node);
  ------------------
  |  | 1472|     88|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1860|     88|        delete[] branch->name;
 1861|     88|        branch->name = nullptr;
 1862|    201|        for (int ic = branch->nc; --ic >= 0;)
  ------------------
  |  Branch (1862:35): [True: 113, False: 88]
  ------------------
 1863|    113|            if (branch->children[ic] != nullptr)
  ------------------
  |  Branch (1863:17): [True: 113, False: 0]
  ------------------
 1864|    113|                destroy(branch->children[ic], level + 1);
 1865|     88|        delete[] branch->children;
 1866|     88|        branch->children = nullptr;
 1867|     88|        delete branch;
 1868|     88|    }
 1869|    131|}
_ZN6PeFile13rebuildRelocsERN5XSpan4SpanIhEEjjy:
 2804|     60|                           upx_uint64_t imagebase) {
 2805|     60|    assert(bits == 32 || bits == 64);
  ------------------
  |  |  493|     60|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|    120|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 60, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 57, False: 3]
  |  |  |  |  |  Branch (1558:47): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2806|     60|    if (!ODADDR(PEDIR_BASERELOC) || !ODSIZE(PEDIR_BASERELOC) ||
  ------------------
  |  Branch (2806:9): [True: 57, False: 3]
  |  Branch (2806:37): [True: 0, False: 3]
  ------------------
 2807|      3|        (flags & IMAGE_FILE_RELOCS_STRIPPED))
  ------------------
  |  Branch (2807:9): [True: 0, False: 3]
  ------------------
 2808|     57|        return;
 2809|       |
 2810|      3|    if (ODSIZE(PEDIR_BASERELOC) == 8) { // some tricky dlls use this
  ------------------
  |  Branch (2810:9): [True: 0, False: 3]
  ------------------
 2811|      0|        omemcpy(obuf + (ODADDR(PEDIR_BASERELOC) - rvamin), "\x0\x0\x0\x0\x8\x0\x0\x0", 8);
  ------------------
  |  |   64|      0|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   59|      0|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 2812|      0|        return;
 2813|      0|    }
 2814|       |
 2815|       |    // Comments at end of this file say that compressed relocs are optional.
 2816|       |    // Try to detect their presence.  There might be no compressed relocs.
 2817|      3|#if WITH_XSPAN >= 2 && 1
 2818|      3|    const size_t headway = extra_info.size_bytes();
 2819|       |#else
 2820|       |    // FIXME: last 4 bytes of extra_info are the file offset of extra_info,
 2821|       |    // so they should be excluded from the count of data bytes.
 2822|       |    // Something is peculiar unless WITH_XSPAN >= 2.
 2823|       |    // Also, optional icondir_count is strange following compressed relocs.
 2824|       |    const size_t headway = 9;
 2825|       |#endif
 2826|      3|    unsigned orig_crelocs = 0;
 2827|      3|    byte big = 0;
 2828|      3|    if (headway >= 8) {
  ------------------
  |  Branch (2828:9): [True: 3, False: 0]
  ------------------
 2829|      3|        orig_crelocs = mem_size(1, get_le32(extra_info));
 2830|      3|        extra_info += 4;
 2831|      3|        if (headway >= 9) {
  ------------------
  |  Branch (2831:13): [True: 3, False: 0]
  ------------------
 2832|      3|            big = extra_info[0];
 2833|      3|            extra_info += 1;
 2834|      3|        }
 2835|      3|    }
 2836|       |
 2837|      3|    SPAN_S_VAR(const byte, rdata, obuf + orig_crelocs, obuf);
  ------------------
  |  |  214|      3|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      3|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      3|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      3|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2838|      3|    MemBuffer mb_wrkmem;
 2839|      3|    unsigned relocnum = unoptimizeReloc(rdata, mb_wrkmem, obuf, orig_crelocs, bits, true);
 2840|       |
 2841|       |    // 16-bit relocations
 2842|      3|    unsigned r16 = 0;
 2843|      3|    if (big & 6) { // count 16-bit relocations
  ------------------
  |  Branch (2843:9): [True: 0, False: 3]
  ------------------
 2844|      0|        SPAN_S_VAR(const LE32, q, SPAN_TYPE_CAST(const LE32, rdata));
  ------------------
  |  |  214|      0|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      0|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      0|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      0|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      0|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      0|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2845|      0|        while (*q++)
  ------------------
  |  Branch (2845:16): [True: 0, False: 0]
  ------------------
 2846|      0|            r16++;
 2847|      0|        if ((big & 6) == 6)
  ------------------
  |  Branch (2847:13): [True: 0, False: 0]
  ------------------
 2848|      0|            while (*++q)
  ------------------
  |  Branch (2848:20): [True: 0, False: 0]
  ------------------
 2849|      0|                r16++;
 2850|      0|    }
 2851|      3|    Reloc rel(relocnum + r16);
 2852|      3|    if (big & 6) { // add 16-bit relocations
  ------------------
  |  Branch (2852:9): [True: 0, False: 3]
  ------------------
 2853|      0|        SPAN_S_VAR(const LE32, q, SPAN_TYPE_CAST(const LE32, rdata));
  ------------------
  |  |  214|      0|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      0|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      0|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      0|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      0|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      0|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2854|      0|        while (*q)
  ------------------
  |  Branch (2854:16): [True: 0, False: 0]
  ------------------
 2855|      0|            rel.add_reloc(*q++ + rvamin, (big & 4) ? IMAGE_REL_BASED_LOW : IMAGE_REL_BASED_HIGH);
  ------------------
  |  Branch (2855:42): [True: 0, False: 0]
  ------------------
 2856|      0|        if ((big & 6) == 6)
  ------------------
  |  Branch (2856:13): [True: 0, False: 0]
  ------------------
 2857|      0|            while (*++q)
  ------------------
  |  Branch (2857:20): [True: 0, False: 0]
  ------------------
 2858|      0|                rel.add_reloc(*q + rvamin, IMAGE_REL_BASED_HIGH);
 2859|       |        // rdata = (const byte *) raw_bytes(q, 0); // advance rdata
 2860|      0|    }
 2861|       |
 2862|      3|    SPAN_S_VAR(byte, const wrkmem, mb_wrkmem);
  ------------------
  |  |  214|      3|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      3|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      3|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      3|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      3|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      3|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2863|  32.4k|    for (unsigned ic = 0; ic < relocnum; ic++) {
  ------------------
  |  Branch (2863:27): [True: 32.4k, False: 3]
  ------------------
 2864|  32.4k|        OPTR_VAR(byte, const p, obuf + get_le32(wrkmem + sizeof(LE32) * ic));
  ------------------
  |  |   43|  32.4k|#define OPTR_VAR(type, var, first) SPAN_S_VAR(type, var, first, obuf)
  |  |  ------------------
  |  |  |  |  214|  32.4k|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|  32.4k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|  32.4k|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|  32.4k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|  32.4k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|  32.4k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|  32.4k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|  32.4k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2865|  32.4k|        if (bits == 32)
  ------------------
  |  Branch (2865:13): [True: 27.3k, False: 5.07k]
  ------------------
 2866|  27.3k|            set_le32(p, get_le32(p) + imagebase + rvamin);
 2867|  5.07k|        else
 2868|  5.07k|            set_le64(p, get_le64(p) + imagebase + rvamin);
 2869|  32.4k|        rel.add_reloc(rvamin + get_le32(wrkmem + sizeof(LE32) * ic),
 2870|  32.4k|                      bits == 32 ? IMAGE_REL_BASED_HIGHLOW : IMAGE_REL_BASED_DIR64);
  ------------------
  |  Branch (2870:23): [True: 27.3k, False: 5.07k]
  ------------------
 2871|  32.4k|    }
 2872|      3|    rel.finish(oxrelocs, soxrelocs);
 2873|       |
 2874|      3|    omemcpy(obuf + (ODADDR(PEDIR_BASERELOC) - rvamin), oxrelocs, soxrelocs);
  ------------------
  |  |   64|      3|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   59|      3|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 2875|      3|    delete[] oxrelocs;
 2876|      3|    oxrelocs = nullptr;
 2877|      3|    mb_wrkmem.dealloc();
 2878|       |
 2879|      3|    ODSIZE(PEDIR_BASERELOC) = soxrelocs;
 2880|       |    // FIXME?:  ODADDR(PEDIR_BASERELOC) for compressed relocs?
 2881|      3|}
_ZN6PeFile14rebuildExportsEv:
 2883|     60|void PeFile::rebuildExports() {
 2884|     60|    if (ODSIZE(PEDIR_EXPORT) == 0 || ODADDR(PEDIR_EXPORT) == IDADDR(PEDIR_EXPORT))
  ------------------
  |  Branch (2884:9): [True: 60, False: 0]
  |  Branch (2884:38): [True: 0, False: 0]
  ------------------
 2885|     60|        return; // nothing to do
 2886|       |
 2887|      0|    opt->win32_pe.compress_exports = 0;
 2888|      0|    Export xport((char *) (byte *) ibuf - isection[2].vaddr);
 2889|      0|    processExports(&xport);
 2890|      0|    processExports(&xport, ODADDR(PEDIR_EXPORT));
 2891|      0|    omemcpy(obuf + (ODADDR(PEDIR_EXPORT) - rvamin), oexport, soexport);
  ------------------
  |  |   64|      0|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   59|      0|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 2892|      0|}
_ZN6PeFile10rebuildTlsEv:
 2894|     60|void PeFile::rebuildTls() {
 2895|       |    // this is an easy one : just do nothing ;-)
 2896|     60|}
_ZN6PeFile16rebuildResourcesERN5XSpan4SpanIhEEj:
 2909|     59|void PeFile::rebuildResources(SPAN_S(byte) & extra_info, unsigned lastvaddr) {
 2910|     59|    if (ODSIZE(PEDIR_RESOURCE) == 0 || IDSIZE(PEDIR_RESOURCE) == 0)
  ------------------
  |  Branch (2910:9): [True: 3, False: 56]
  |  Branch (2910:40): [True: 1, False: 55]
  ------------------
 2911|      4|        return;
 2912|       |
 2913|     55|    icondir_count = get_le16(extra_info);
 2914|     55|    extra_info += 2;
 2915|       |
 2916|     55|    const unsigned vaddr = IDADDR(PEDIR_RESOURCE);
 2917|       |
 2918|     55|    if (vaddr < lastvaddr || (vaddr - lastvaddr) > ibuf.getSize())
  ------------------
  |  Branch (2918:9): [True: 1, False: 54]
  |  Branch (2918:30): [True: 1, False: 53]
  ------------------
 2919|      2|        throwCantUnpack("corrupted PE header");
 2920|       |
 2921|       |    // INFO: use VPtr for "virtual pointer" pointing before a buffer
 2922|       |    //// const byte *const r = ibuf.raw_bytes(0) - lastvaddr;
 2923|     53|    VPtr<const byte> const r{ibuf, lastvaddr};
 2924|     53|    Resource res(raw_bytes(r + vaddr, 0), ibuf, ibuf + ibuf.getSize());
 2925|     89|    while (res.next())
  ------------------
  |  Branch (2925:12): [True: 36, False: 53]
  ------------------
 2926|     36|        if (res.offs() > vaddr) {
  ------------------
  |  Branch (2926:13): [True: 29, False: 7]
  ------------------
 2927|     29|            ICHECK(r + (res.offs() - 4), 4);
  ------------------
  |  |   58|     29|#define ICHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, ibuf, ibuf.getSize())
  ------------------
 2928|     29|            unsigned origoffs = get_le32(r + (res.offs() - 4));
 2929|     29|            res.newoffs() = origoffs;
 2930|     29|            omemcpy(obuf + (origoffs - rvamin), r + res.offs(), res.size());
  ------------------
  |  |   64|     29|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   59|     29|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 2931|     29|            if (icondir_count && res.itype() == RT_GROUP_ICON) {
  ------------------
  |  Branch (2931:17): [True: 0, False: 29]
  |  Branch (2931:34): [True: 0, False: 0]
  ------------------
 2932|      0|                set_le16(obuf + (origoffs - rvamin + 4), icondir_count);
 2933|      0|                icondir_count = 0;
 2934|      0|            }
 2935|     29|        }
 2936|     53|    if (res.dirsize()) {
  ------------------
  |  Branch (2936:9): [True: 7, False: 46]
  ------------------
 2937|      7|        byte *p = res.build();
 2938|      7|        OCHECK(obuf + (ODADDR(PEDIR_RESOURCE) - rvamin), 16);
  ------------------
  |  |   59|      7|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  ------------------
 2939|       |        // write back when the original is zeroed
 2940|      7|        if (get_le32(obuf + (ODADDR(PEDIR_RESOURCE) - rvamin + 12)) == 0)
  ------------------
  |  Branch (2940:13): [True: 7, False: 0]
  ------------------
 2941|      7|            omemcpy(obuf + (ODADDR(PEDIR_RESOURCE) - rvamin), p, res.dirsize());
  ------------------
  |  |   64|      7|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   59|      7|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 2942|      7|    }
 2943|     53|}
_ZN6PeFile10canUnpack0Ejjjj:
 3157|    267|int PeFile::canUnpack0(unsigned max_sections, unsigned objs, unsigned ih_entry, unsigned ih_size) {
 3158|    267|    const unsigned min_sections = isefi ? 2 : 3;
  ------------------
  |  Branch (3158:35): [True: 6, False: 261]
  ------------------
 3159|    267|    if (objs < min_sections)
  ------------------
  |  Branch (3159:9): [True: 2, False: 265]
  ------------------
 3160|      2|        return -1;
 3161|    265|    mb_isection.alloc(mem_size(sizeof(pe_section_t), objs));
 3162|    265|    isection = SPAN_S_MAKE(pe_section_t, mb_isection); // => isection now is a SPAN_S
  ------------------
  |  |  210|    265|#define SPAN_S_MAKE     XSPAN_S_MAKE
  |  |  ------------------
  |  |  |  |   97|    265|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|    265|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|    265|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|    265|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|    265|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|    265|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|    265|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3163|    265|    fi->seek(pe_offset + ih_size, SEEK_SET);
 3164|    265|    fi->readx(isection, sizeof(pe_section_t) * objs);
 3165|    265|    bool is_packed = (objs <= max_sections && (IDSIZE(15) || ih_entry > isection[1].vaddr));
  ------------------
  |  Branch (3165:23): [True: 231, False: 34]
  |  Branch (3165:48): [True: 118, False: 113]
  |  Branch (3165:62): [True: 103, False: 10]
  ------------------
 3166|    265|    bool found_ph = false;
 3167|    265|    if (memcmp(isection[0].name, "UPX", 3) == 0) {
  ------------------
  |  Branch (3167:9): [True: 142, False: 123]
  ------------------
 3168|       |        // current version
 3169|    142|        fi->seek(isection[1].rawdataptr - 64, SEEK_SET);
 3170|    142|        found_ph = readPackHeader(1024);
 3171|    142|        if (!found_ph) {
  ------------------
  |  Branch (3171:13): [True: 17, False: 125]
  ------------------
 3172|       |            // old versions
 3173|     17|            fi->seek(isection[2].rawdataptr, SEEK_SET);
 3174|     17|            found_ph = readPackHeader(1024);
 3175|     17|        }
 3176|    142|    }
 3177|    265|    if (is_packed && found_ph)
  ------------------
  |  Branch (3177:9): [True: 216, False: 49]
  |  Branch (3177:22): [True: 127, False: 89]
  ------------------
 3178|    127|        return true;
 3179|    138|    if (!is_packed && !found_ph)
  ------------------
  |  Branch (3179:9): [True: 15, False: 123]
  |  Branch (3179:23): [True: 11, False: 4]
  ------------------
 3180|     11|        return -1;
 3181|    127|    if (is_packed && ih_entry < isection[2].vaddr) {
  ------------------
  |  Branch (3181:9): [True: 89, False: 38]
  |  Branch (3181:22): [True: 58, False: 31]
  ------------------
 3182|     58|        byte buf[256];
 3183|     58|        bool x = false;
 3184|       |
 3185|     58|        memset(buf, 0, sizeof(buf));
 3186|     58|        try {
 3187|     58|            fi->seek(ih_entry - isection[1].vaddr + isection[1].rawdataptr, SEEK_SET);
 3188|     58|            fi->read(buf, sizeof(buf));
 3189|       |
 3190|       |            // FIXME this is for x86
 3191|     58|            static const byte magic[] = "\x8b\x1e\x83\xee\xfc\x11\xdb";
 3192|       |            // mov ebx, [esi];    sub esi, -4;    adc ebx,ebx
 3193|       |
 3194|     58|            int offset = find(buf, sizeof(buf), magic, 7);
 3195|     58|            if (offset >= 0 && find(buf + offset + 1, sizeof(buf) - offset - 1, magic, 7) >= 0)
  ------------------
  |  Branch (3195:17): [True: 12, False: 46]
  |  Branch (3195:32): [True: 6, False: 6]
  ------------------
 3196|      6|                x = true;
 3197|     58|        } catch (...) {
 3198|       |            // x = true;
 3199|     28|        }
 3200|     58|        if (x)
  ------------------
  |  Branch (3200:13): [True: 6, False: 52]
  ------------------
 3201|      6|            throwCantUnpack("file is modified/hacked/protected; take care!!!");
 3202|     52|        else
 3203|     52|            throwCantUnpack("file is possibly modified/hacked/protected; take care!");
 3204|      0|        return false; // not reached
 3205|     58|    }
 3206|       |
 3207|       |    // FIXME: what should we say here ?
 3208|       |    // throwCantUnpack("file is possibly modified/hacked/protected; take care!");
 3209|     69|    return false;
 3210|    127|}
_ZN6PeFileD2Ev:
 3216|  40.0k|PeFile::~PeFile() noexcept {
 3217|  40.0k|    oimpdlls = nullptr;
 3218|  40.0k|    delete[] oxrelocs;
 3219|  40.0k|    delete ilinker;
 3220|       |    // delete res;
 3221|  40.0k|}
_ZN8PeFile32C2EP9InputFile:
 3227|  26.5k|PeFile32::PeFile32(InputFile *f) : super(f) {
 3228|  26.5k|    COMPILE_TIME_ASSERT(sizeof(pe_header_t) == 248)
  ------------------
  |  |  247|  26.5k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  26.5k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
 3229|  26.5k|    COMPILE_TIME_ASSERT_ALIGNED1(pe_header_t)
  ------------------
  |  |  446|  26.5k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  26.5k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  26.5k|    {                                                                                              \
  |  |  |  |  |  |  429|  26.5k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  26.5k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  26.5k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  26.5k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  26.5k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  26.5k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  26.5k|        };                                                                                         \
  |  |  |  |  |  |  436|  26.5k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.5k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.5k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  26.5k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  26.5k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  26.5k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  26.5k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  26.5k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  26.5k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  26.5k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  26.5k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.5k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.5k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  26.5k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  26.5k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  26.5k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3230|       |
 3231|  26.5k|    iddirs = ih.ddirs;
 3232|  26.5k|    oddirs = oh.ddirs;
 3233|  26.5k|}
_ZN8PeFile3212readPeHeaderEv:
 3237|    299|void PeFile32::readPeHeader() {
 3238|    299|    fi->readx(&ih, sizeof(ih));
 3239|    299|    if (31 < (unsigned) ih.subsystem) {
  ------------------
  |  Branch (3239:9): [True: 1, False: 298]
  ------------------
 3240|      1|        throwCantPack("bad ih.subsystem 0x%x", (unsigned) ih.subsystem);
 3241|      1|    }
 3242|    298|    isefi = ((1u << ih.subsystem) &
 3243|    298|             ((1u << IMAGE_SUBSYSTEM_EFI_APPLICATION) |
 3244|    298|              (1u << IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER) |
 3245|    298|              (1u << IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER) | (1u << IMAGE_SUBSYSTEM_EFI_ROM))) != 0;
 3246|    298|    isdll = !isefi && (ih.flags & IMAGE_FILE_DLL) != 0;
  ------------------
  |  Branch (3246:13): [True: 292, False: 6]
  |  Branch (3246:23): [True: 64, False: 228]
  ------------------
 3247|    298|    use_dep_hack &= !isefi;
 3248|    298|    use_clear_dirty_stack &= !isefi;
 3249|    298|}
_ZN8PeFile326unpackEP10OutputFile:
 3257|    113|void PeFile32::unpack(OutputFile *fo) {
 3258|    113|    bool set_oft = getFormat() == UPX_F_WINCE_ARM;
  ------------------
  |  |  571|    113|#define UPX_F_WINCE_ARM           21 // Windows CE
  ------------------
 3259|    113|    unpack0<pe_header_t, LE32>(fo, ih, oh, 1U << 31, set_oft);
 3260|    113|}
_ZN8PeFile329canUnpackEv:
 3262|  26.5k|tribool PeFile32::canUnpack() {
 3263|  26.5k|    if (!canPack()) // this calls readFileHeader() and readPeHeader()
  ------------------
  |  Branch (3263:9): [True: 26.2k, False: 293]
  ------------------
 3264|  26.2k|        return false;
 3265|    293|    return canUnpack0(getFormat() == UPX_F_WINCE_ARM ? 4 : 3, ih.objects, ih.entry, sizeof(ih));
  ------------------
  |  |  571|    293|#define UPX_F_WINCE_ARM           21 // Windows CE
  ------------------
  |  Branch (3265:23): [True: 44, False: 249]
  ------------------
 3266|  26.5k|}
_ZN8PeFile64C2EP9InputFile:
 3282|  13.5k|PeFile64::PeFile64(InputFile *f) : super(f) {
 3283|  13.5k|    COMPILE_TIME_ASSERT(sizeof(pe_header_t) == 264)
  ------------------
  |  |  247|  13.5k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  13.5k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
 3284|  13.5k|    COMPILE_TIME_ASSERT_ALIGNED1(pe_header_t)
  ------------------
  |  |  446|  13.5k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  13.5k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  13.5k|    {                                                                                              \
  |  |  |  |  |  |  429|  13.5k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  13.5k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  13.5k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  13.5k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  13.5k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  13.5k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  13.5k|        };                                                                                         \
  |  |  |  |  |  |  436|  13.5k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  13.5k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  13.5k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  13.5k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  13.5k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  13.5k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  13.5k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  13.5k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  13.5k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  13.5k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  13.5k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  13.5k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  13.5k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  13.5k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  13.5k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  13.5k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3285|       |
 3286|  13.5k|    iddirs = ih.ddirs;
 3287|  13.5k|    oddirs = oh.ddirs;
 3288|  13.5k|}
_ZN8PeFile6412readPeHeaderEv:
 3292|    310|void PeFile64::readPeHeader() {
 3293|    310|    fi->readx(&ih, sizeof(ih));
 3294|    310|    if (31 < (unsigned) ih.subsystem) {
  ------------------
  |  Branch (3294:9): [True: 1, False: 309]
  ------------------
 3295|      1|        throwCantPack("bad ih.subsystem 0x%x", (unsigned) ih.subsystem);
 3296|      1|    }
 3297|    309|    isefi = ((1u << ih.subsystem) &
 3298|    309|             ((1u << IMAGE_SUBSYSTEM_EFI_APPLICATION) |
 3299|    309|              (1u << IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER) |
 3300|    309|              (1u << IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER) | (1u << IMAGE_SUBSYSTEM_EFI_ROM))) != 0;
 3301|    309|    isdll = !isefi && (ih.flags & IMAGE_FILE_DLL) != 0;
  ------------------
  |  Branch (3301:13): [True: 296, False: 13]
  |  Branch (3301:23): [True: 47, False: 249]
  ------------------
 3302|    309|    use_dep_hack &= !isefi;
 3303|    309|    use_clear_dirty_stack &= !isefi;
 3304|    309|}
_ZN8PeFile646unpackEP10OutputFile:
 3310|     14|void PeFile64::unpack(OutputFile *fo) { unpack0<pe_header_t, LE64>(fo, ih, oh, 1ULL << 63, false); }
_ZN8PeFile649canUnpackEv:
 3312|  13.5k|tribool PeFile64::canUnpack() {
 3313|  13.5k|    if (!canPack()) // this calls readFileHeader() and readPeHeader()
  ------------------
  |  Branch (3313:9): [True: 13.2k, False: 270]
  ------------------
 3314|  13.2k|        return false;
 3315|    270|    return canUnpack0(3, ih.objects, ih.entry, sizeof(ih));
 3316|  13.5k|}
pefile.cpp:_ZL18reloc_entry_encodeN5XSpan9PtrOrSpanIhEEjj:
  306|  32.4k|static void reloc_entry_encode(SPAN_P(byte) buf, unsigned pos, unsigned reloc_type) {
  307|  32.4k|    if (reloc_type == 0 || reloc_type >= 16)
  ------------------
  |  Branch (307:9): [True: 0, False: 32.4k]
  |  Branch (307:28): [True: 0, False: 32.4k]
  ------------------
  308|      0|        throwCantPack("bad reloc_type %#x %u", pos, reloc_type);
  309|  32.4k|    set_ne32(buf, pos);
  310|  32.4k|    buf[4] = (upx_uint8_t) reloc_type;
  311|  32.4k|}
pefile.cpp:_ZL19reloc_entry_comparePKvS0_:
  317|   214k|static int __acc_cdecl_qsort reloc_entry_compare(const void *a, const void *b) {
  318|   214k|    const unsigned pos1 = get_ne32(a);
  319|   214k|    const unsigned pos2 = get_ne32(b);
  320|   214k|    if (pos1 != pos2)
  ------------------
  |  Branch (320:9): [True: 214k, False: 0]
  ------------------
  321|   214k|        return pos1 < pos2 ? -1 : 1;
  ------------------
  |  Branch (321:16): [True: 214k, False: 0]
  ------------------
  322|      0|    const unsigned reloc_type1 = ((const upx_uint8_t *) a)[4];
  323|      0|    const unsigned reloc_type2 = ((const upx_uint8_t *) b)[4];
  324|      0|    if (reloc_type1 != reloc_type2)
  ------------------
  |  Branch (324:9): [True: 0, False: 0]
  ------------------
  325|      0|        return reloc_type1 < reloc_type2 ? -1 : 1;
  ------------------
  |  Branch (325:16): [True: 0, False: 0]
  ------------------
  326|      0|    return 0;
  327|      0|}
pefile.cpp:_ZL18reloc_entry_decodeN5XSpan9PtrOrSpanIKhEEPjS3_:
  312|  32.4k|static void reloc_entry_decode(SPAN_P(const byte) buf, unsigned *pos, unsigned *reloc_type) {
  313|  32.4k|    *pos = get_ne32(buf);
  314|  32.4k|    *reloc_type = buf[4];
  315|  32.4k|    assert(*reloc_type > 0 && *reloc_type < 16);
  ------------------
  |  |  493|  32.4k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 32.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 32.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 32.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  316|  32.4k|}
pefile.cpp:_ZZN6PeFile5Reloc6finishERPhRjENK3$_0clEN5XSpan4SpanINS0_9BaseRelocEEE:
  443|    348|    auto finish_block = [](SPAN_S(BaseReloc) rel) -> byte * {
  444|    348|        unsigned sob = rel->size_of_block;
  445|    348|        assert(sob >= 10 && (sob & 1) == 0);
  ------------------
  |  |  493|    348|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|    696|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 348, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 348, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 348, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  446|    348|        auto end = SPAN_TYPE_CAST(byte, rel) + sob;
  ------------------
  |  |  216|    348|#define SPAN_TYPE_CAST  XSPAN_TYPE_CAST
  |  |  ------------------
  |  |  |  |  120|    696|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  |  |  ------------------
  ------------------
  447|    686|        while ((sob & 3) != 0) { // UPX: we want align by 4 here
  ------------------
  |  Branch (447:16): [True: 338, False: 348]
  ------------------
  448|    338|            *end++ = 0;          // clear byte (i.e. write IMAGE_REL_BASED_IGNORE)
  449|    338|            sob += 1;
  450|    338|        }
  451|    348|        rel->size_of_block = sob;
  452|    348|        return raw_bytes(end, 0);
  453|    348|    };
pefile.cpp:_ZL6xcheckPKv:
   47|    164|static void xcheck(const void *p) may_throw {
   48|    164|    if very_unlikely (p == nullptr)
  ------------------
  |  |  245|    164|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    164|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    164|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 4, False: 160]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   49|      4|        throwCantUnpack("xcheck unexpected nullptr pointer; take care!");
   50|    164|}
_ZNK6PeFile8Resource7res_dir6SizeofEv:
 1631|    123|    unsigned Sizeof() const { return 16 + mem_size(sizeof(res_dir_entry), namedentr + identr); }
pefile.cpp:_ZL15xcheck_noexceptPKv:
   51|    131|static void xcheck_noexcept(const void *p) noexcept { assert_noexcept(p != nullptr); }
  ------------------
  |  |  496|    131|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|    262|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 131, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
pefile.cpp:_ZL6xcheckPKvmS0_m:
   52|  6.94k|static void xcheck(const void *p, size_t plen, const void *b, size_t blen) may_throw {
   53|  6.94k|    const charptr pp = (const charptr) p;
   54|  6.94k|    const charptr bb = (const charptr) b;
   55|  6.94k|    if very_unlikely (pp < bb || pp > bb + blen || pp + plen > bb + blen)
  ------------------
  |  |  245|  6.94k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  6.94k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  27.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 1, False: 6.94k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 6.94k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 6.94k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 1, False: 6.94k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   56|      1|        throwCantUnpack("xcheck pointer out of range; take care!");
   57|  6.94k|}
pefile.cpp:_ZNK12_GLOBAL__N_14VPtrIKhEplEm:
 2905|    126|    SPAN_S(T) operator+(size_t n) const { return base + mem_size_get_n(sizeof(T), n - x); }
_ZN6PeFile7unpack0IN8PeFile3211pe_header_tE4LE32jEEvP10OutputFileRKT_RS6_T1_b:
 3037|    113|void PeFile::unpack0(OutputFile *fo, const ht &ih, ht &oh, ord_mask_t ord_mask, bool set_oft) {
 3038|       |    // infoHeader("[Processing %s, format %s, %d sections]", fn_basename(fi->getName()), getName(),
 3039|       |    // objs);
 3040|       |
 3041|    113|    handleStub(fi, fo, pe_offset);
 3042|    113|    if (ih.filealign == 0)
  ------------------
  |  Branch (3042:9): [True: 1, False: 112]
  ------------------
 3043|      1|        throwCantUnpack("unexpected value in the PE header");
 3044|       |
 3045|    112|    const unsigned iobjs = ih.objects;
 3046|    112|    const unsigned overlay =
 3047|    112|        file_size_u -
 3048|    112|        ALIGN_UP(isection[iobjs - 1].rawdataptr + isection[iobjs - 1].size, ih.filealign);
  ------------------
  |  |  511|    112|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
 3049|    112|    checkOverlay(overlay);
 3050|       |
 3051|    112|    ibuf.alloc(ph.c_len);
 3052|    112|    obuf.allocForDecompression(ph.u_len);
 3053|    112|    fi->seek(isection[1].rawdataptr - 64 + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
 3054|    112|    fi->readx(ibuf, ibufgood = ph.c_len);
 3055|       |
 3056|       |    // decompress
 3057|    112|    decompress(ibuf, obuf);
 3058|    112|    unsigned skip = get_le32(obuf + (ph.u_len - 4));
 3059|    112|    unsigned take = sizeof(oh);
 3060|    112|    SPAN_S_VAR(byte, extra_info, obuf);
  ------------------
  |  |  214|    112|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|    112|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|    112|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|    112|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|    112|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|    112|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|    112|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|    112|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3061|    112|    extra_info = obuf.subref("bad extra_info offset %#x", skip, take);
 3062|       |    // byte *const eistart = raw_bytes(extra_info, 0);
 3063|       |
 3064|    112|    memcpy(&oh, extra_info, take);
 3065|    112|    extra_info += take;
 3066|    112|    skip += take;
 3067|    112|    unsigned objs = oh.objects;
 3068|       |
 3069|    112|    if ((int) objs <= 0 || (iobjs > 2 && isection[2].size == 0))
  ------------------
  |  Branch (3069:9): [True: 47, False: 65]
  |  Branch (3069:29): [True: 65, False: 0]
  |  Branch (3069:42): [True: 1, False: 64]
  ------------------
 3070|      1|        throwCantUnpack("unexpected value in the PE header");
 3071|    111|    Array(pe_section_t, osection, objs);
  ------------------
  |  |  473|    111|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  474|    112|    type *const var = ACC_STATIC_CAST(type *, var##_membuf.getVoidPtr())
  |  |  ------------------
  |  |  |  | 1472|    112|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 3072|    111|    take = sizeof(pe_section_t) * objs;
 3073|    111|    extra_info = obuf.subref("bad extra section size at %#x", skip, take);
 3074|    111|    memcpy(osection, extra_info, take);
 3075|    111|    extra_info += take;
 3076|    111|    skip += take;
 3077|    111|    rvamin = osection[0].vaddr;
 3078|       |
 3079|    111|    if (iobjs > 2) {
  ------------------
  |  Branch (3079:9): [True: 64, False: 47]
  ------------------
 3080|       |        // read the noncompressed section
 3081|     64|        const unsigned size = isection[2].size;
 3082|     64|        ibuf.dealloc();
 3083|     64|        ibuf.alloc(size + 1);
 3084|     64|        fi->seek(isection[2].rawdataptr, SEEK_SET);
 3085|     64|        fi->readx(ibuf, ibufgood = size);
 3086|     64|        ibuf[size] = 0; // allow strlen() up to 'size'
 3087|     64|    }
 3088|       |
 3089|       |    // unfilter
 3090|    111|    if (ph.filter) {
  ------------------
  |  Branch (3090:9): [True: 62, False: 49]
  ------------------
 3091|     62|        Filter ft(ph.level);
 3092|     62|        ft.init(ph.filter, oh.codebase - rvamin);
 3093|     62|        ft.cto = (byte) ph.filter_cto;
 3094|     62|        OCHECK(obuf + (oh.codebase - rvamin), oh.codesize);
  ------------------
  |  |   59|     62|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  ------------------
 3095|     62|        ft.unfilter(obuf + (oh.codebase - rvamin), oh.codesize);
 3096|     62|    }
 3097|       |
 3098|       |    // FIXME: ih.flags is checked here because of a bug in UPX 0.92
 3099|    111|    if (ih.flags & IMAGE_FILE_RELOCS_STRIPPED) {
  ------------------
  |  Branch (3099:9): [True: 59, False: 52]
  ------------------
 3100|     59|        oh.flags |= IMAGE_FILE_RELOCS_STRIPPED;
 3101|     59|        ODADDR(PEDIR_BASERELOC) = 0;
 3102|     59|        ODSIZE(PEDIR_BASERELOC) = 0;
 3103|     59|    }
 3104|       |
 3105|    111|    rebuildImports<LEXX>(extra_info, ord_mask, set_oft);
 3106|    111|    rebuildRelocs(extra_info, sizeof(ih.imagebase) * 8, oh.flags, oh.imagebase);
 3107|    111|    rebuildTls();
 3108|    111|    rebuildExports();
 3109|       |
 3110|    111|    if (iobjs > 3) {
  ------------------
  |  Branch (3110:9): [True: 2, False: 109]
  ------------------
 3111|       |        // read the resource section if present
 3112|      2|        ibuf.dealloc();
 3113|      2|        ibuf.alloc(isection[3].size);
 3114|      2|        fi->seek(isection[3].rawdataptr, SEEK_SET);
 3115|      2|        fi->readx(ibuf, ibufgood = isection[3].size);
 3116|      2|    }
 3117|       |
 3118|    111|    rebuildResources(extra_info, isection[ih.objects - 1].vaddr);
 3119|       |
 3120|       |    // FIXME: this does bad things if the relocation section got removed
 3121|       |    //  during compression ...
 3122|       |    // memset(eistart, 0, ptr_udiff_bytes(extra_info, eistart) + 4);
 3123|       |
 3124|       |    // fill the data directory
 3125|    111|    ODADDR(PEDIR_IAT) = 0;
 3126|    111|    ODSIZE(PEDIR_IAT) = 0;
 3127|    111|    ODADDR(PEDIR_BOUND_IMPORT) = 0;
 3128|    111|    ODSIZE(PEDIR_BOUND_IMPORT) = 0;
 3129|       |
 3130|    111|    setOhHeaderSize(osection);
 3131|    111|    oh.chksum = 0;
 3132|       |
 3133|       |    // write decompressed file
 3134|    111|    if (fo) {
  ------------------
  |  Branch (3134:9): [True: 26, False: 85]
  ------------------
 3135|     26|        unsigned ic = 0;
 3136|     26|        while (ic < objs && osection[ic].rawdataptr == 0)
  ------------------
  |  Branch (3136:16): [True: 26, False: 0]
  |  Branch (3136:29): [True: 0, False: 26]
  ------------------
 3137|      0|            ic++;
 3138|       |
 3139|     26|        ibuf.dealloc();
 3140|     26|        ibuf.alloc(osection[ic].rawdataptr);
 3141|     26|        ibuf.clear();
 3142|     26|        infoHeader("[Writing uncompressed file]");
 3143|       |
 3144|       |        // write header + decompressed file
 3145|     26|        fo->write(&oh, sizeof(oh));
 3146|     26|        fo->write(osection, objs * sizeof(pe_section_t));
 3147|     26|        fo->write(ibuf, osection[ic].rawdataptr - fo->getBytesWritten());
 3148|    198|        for (ic = 0; ic < objs; ic++)
  ------------------
  |  Branch (3148:22): [True: 172, False: 26]
  ------------------
 3149|    172|            if (osection[ic].rawdataptr)
  ------------------
  |  Branch (3149:17): [True: 148, False: 24]
  ------------------
 3150|    148|                fo->write(obuf + (osection[ic].vaddr - rvamin),
 3151|    148|                          ALIGN_UP(osection[ic].size, oh.filealign));
  ------------------
  |  |  511|    148|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
 3152|     26|        copyOverlay(fo, overlay, obuf);
 3153|     26|    }
 3154|    111|    ibuf.dealloc();
 3155|    111|}
_ZN6PeFile14rebuildImportsI4LE32jEEvRN5XSpan4SpanIhEET0_b:
 2946|     62|void PeFile::rebuildImports(SPAN_S(byte) & extra_info, ord_mask_t ord_mask, bool set_oft) {
 2947|     62|    if (ODADDR(PEDIR_IMPORT) == 0 || ODSIZE(PEDIR_IMPORT) <= sizeof(import_desc))
  ------------------
  |  Branch (2947:9): [True: 0, False: 62]
  |  Branch (2947:38): [True: 0, False: 62]
  ------------------
 2948|      0|        return;
 2949|       |
 2950|     62|    OPTR_VAR(const byte, const imdata, obuf + mem_size(1, get_le32(extra_info)));
  ------------------
  |  |   43|     62|#define OPTR_VAR(type, var, first) SPAN_S_VAR(type, var, first, obuf)
  |  |  ------------------
  |  |  |  |  214|     62|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|     62|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|     62|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|     62|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|     62|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|     62|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|     62|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|     62|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2951|     62|    const unsigned inamespos = mem_size(1, get_le32(extra_info + 4));
 2952|     62|    extra_info += 8;
 2953|       |
 2954|     62|    unsigned sdllnames = 0;
 2955|       |
 2956|     62|    IPTR_VAR_OFFSET(const byte, const import, IDADDR(PEDIR_IMPORT) - isection[2].vaddr);
  ------------------
  |  |   45|     62|    SPAN_S_VAR(type, var, ibuf + (offset), ibuf.getSize() - (offset), ibuf + (offset))
  |  |  ------------------
  |  |  |  |  214|     62|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|     62|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|     62|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|     62|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|     62|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|     62|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|     62|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|     62|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2957|     62|    OPTR_VAR(const byte, p, raw_bytes(imdata, 4));
  ------------------
  |  |   43|     62|#define OPTR_VAR(type, var, first) SPAN_S_VAR(type, var, first, obuf)
  |  |  ------------------
  |  |  |  |  214|     62|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|     62|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|     62|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|     62|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|     62|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|     62|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|     62|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|     62|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2958|       |
 2959|    228|    for (; get_le32(p) != 0; ++p) {
  ------------------
  |  Branch (2959:12): [True: 166, False: 62]
  ------------------
 2960|    166|        const byte *dname = raw_bytes(import + mem_size(1, get_le32(p)), 1);
  ------------------
  |  |   36|    332|#define import  my_import // "import" is a keyword since C++20
  ------------------
 2961|    166|        const unsigned dlen = strlen(dname);
  ------------------
  |  |   70|    166|#define strlen upx_safe_strlen
  ------------------
 2962|    166|        ICHECK(dname, dlen + 1);
  ------------------
  |  |   58|    166|#define ICHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, ibuf, ibuf.getSize())
  ------------------
 2963|       |
 2964|    166|        sdllnames += dlen + 1;
 2965|  6.13k|        for (p += 8; *p;)
  ------------------
  |  Branch (2965:22): [True: 5.97k, False: 166]
  ------------------
 2966|  5.97k|            if (*p == 1)
  ------------------
  |  Branch (2966:17): [True: 5.97k, False: 0]
  ------------------
 2967|  5.97k|                p += 1 + strlen(p + 1) + 1;
  ------------------
  |  |   70|  5.97k|#define strlen upx_safe_strlen
  ------------------
 2968|      0|            else if (*p == 0xff)
  ------------------
  |  Branch (2968:22): [True: 0, False: 0]
  ------------------
 2969|      0|                p += 3; // ordinal
 2970|      0|            else
 2971|      0|                p += 5;
 2972|    166|    }
 2973|     62|    sdllnames = ALIGN_UP(sdllnames, 2u);
  ------------------
  |  |  511|     62|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
 2974|       |
 2975|       |    // INFO: use VPtr for "virtual pointer" pointing before a buffer
 2976|       |    //// byte *const Obuf = obuf.raw_bytes(0) - rvamin;
 2977|     62|    VPtr<byte> const Obuf{obuf, rvamin};
 2978|     62|    SPAN_S_VAR(import_desc, im, (import_desc *) raw_bytes(Obuf + ODADDR(PEDIR_IMPORT), 0), obuf);
  ------------------
  |  |  214|     62|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|     62|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     62|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|     62|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     62|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     62|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     62|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     62|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2979|     62|    SPAN_0_VAR(byte, dllnames, inamespos ? raw_bytes(Obuf + inamespos, 0) : nullptr, obuf);
  ------------------
  |  |  212|     62|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|    124|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|     62|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|     62|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     62|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     62|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     62|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     62|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (107:46): [True: 0, False: 62]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2980|     62|    SPAN_0_VAR(byte, const importednames_start, inamespos ? dllnames + sdllnames : nullptr);
  ------------------
  |  |  212|     62|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|    124|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|     62|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|     62|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     62|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     62|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     62|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     62|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (107:46): [True: 0, False: 62]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2981|     62|    SPAN_0_VAR(byte, importednames, importednames_start);
  ------------------
  |  |  212|     62|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|     62|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|     62|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|     62|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     62|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     62|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     62|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     62|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2982|       |
 2983|    227|    for (p = imdata; get_le32(p) != 0; ++p) {
  ------------------
  |  Branch (2983:22): [True: 165, False: 62]
  ------------------
 2984|       |        // restore the name of the dll
 2985|    165|        const byte *dname = raw_bytes(import + get_le32(p), 1);
  ------------------
  |  |   36|    330|#define import  my_import // "import" is a keyword since C++20
  ------------------
 2986|    165|        const unsigned dlen = strlen(dname);
  ------------------
  |  |   70|    165|#define strlen upx_safe_strlen
  ------------------
 2987|    165|        ICHECK(dname, dlen + 1);
  ------------------
  |  |   58|    165|#define ICHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, ibuf, ibuf.getSize())
  ------------------
 2988|       |
 2989|    165|        const unsigned iatoffs = get_le32(p + 4) + rvamin;
 2990|    165|        if (inamespos) {
  ------------------
  |  Branch (2990:13): [True: 0, False: 165]
  ------------------
 2991|       |            // now I rebuild the dll names
 2992|      0|            omemcpy(dllnames, dname, dlen + 1);
  ------------------
  |  |   64|      0|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   59|      0|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 2993|      0|            im->dllname = ptr_udiff_bytes(dllnames, obuf) + rvamin;
 2994|       |            //;;;printf("\ndll: %s:",dllnames);
 2995|      0|            dllnames += dlen + 1;
 2996|    165|        } else {
 2997|    165|            omemcpy(Obuf + im->dllname, dname, dlen + 1);
  ------------------
  |  |   64|    165|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   59|    165|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 2998|    165|        }
 2999|    165|        im->iat = iatoffs;
 3000|    165|        if (set_oft)
  ------------------
  |  Branch (3000:13): [True: 4, False: 161]
  ------------------
 3001|      4|            im->oft = iatoffs;
 3002|       |
 3003|    165|        OPTR_VAR(LEXX, newiat, (LEXX *) raw_bytes(Obuf + iatoffs, 0));
  ------------------
  |  |   43|    165|#define OPTR_VAR(type, var, first) SPAN_S_VAR(type, var, first, obuf)
  |  |  ------------------
  |  |  |  |  214|    165|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|    165|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|    165|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|    165|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|    165|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|    165|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|    165|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|    165|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3004|       |
 3005|       |        // restore the imported names+ordinals
 3006|  6.13k|        for (p += 8; *p; ++newiat)
  ------------------
  |  Branch (3006:22): [True: 5.97k, False: 165]
  ------------------
 3007|  5.97k|            if (*p == 1) {
  ------------------
  |  Branch (3007:17): [True: 5.97k, False: 0]
  ------------------
 3008|  5.97k|                const unsigned ilen = strlen(++p) + 1;
  ------------------
  |  |   70|  5.97k|#define strlen upx_safe_strlen
  ------------------
 3009|  5.97k|                if (inamespos) {
  ------------------
  |  Branch (3009:21): [True: 0, False: 5.97k]
  ------------------
 3010|      0|                    if (ptr_udiff_bytes(importednames, importednames_start) & 1)
  ------------------
  |  Branch (3010:25): [True: 0, False: 0]
  ------------------
 3011|      0|                        importednames -= 1;
 3012|      0|                    omemcpy(importednames + 2, p, ilen);
  ------------------
  |  |   64|      0|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   59|      0|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3013|       |                    //;;;printf(" %s",importednames+2);
 3014|      0|                    *newiat = ptr_udiff_bytes(importednames, obuf) + rvamin;
 3015|      0|                    importednames += 2 + ilen;
 3016|  5.97k|                } else {
 3017|       |                    // Beware overlap!
 3018|  5.97k|                    omemmove(Obuf + (*newiat + 2), p, ilen);
  ------------------
  |  |   65|  5.97k|#define omemmove(a, b, c) OCHECK(a, c), memmove(a, b, c)
  |  |  ------------------
  |  |  |  |   59|  5.97k|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3019|  5.97k|                }
 3020|  5.97k|                p += ilen;
 3021|  5.97k|            } else if (*p == 0xff) {
  ------------------
  |  Branch (3021:24): [True: 0, False: 0]
  ------------------
 3022|      0|                *newiat = get_le16(p + 1) + ord_mask;
 3023|       |                //;;;printf(" %x",(unsigned)*newiat);
 3024|      0|                p += 3;
 3025|      0|            } else {
 3026|      0|                *newiat = *(const LEXX *) raw_bytes(import + get_le32(p + 1), sizeof(LEXX));
  ------------------
  |  |   36|      0|#define import  my_import // "import" is a keyword since C++20
  ------------------
 3027|      0|                assert(*newiat & ord_mask);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3028|      0|                p += 5;
 3029|      0|            }
 3030|    165|        *newiat = 0;
 3031|    165|        im++;
 3032|    165|    }
 3033|       |    // memset(imdata, 0, ptr_udiff_bytes(p, imdata));
 3034|     62|}
pefile.cpp:_ZNK12_GLOBAL__N_14VPtrIhEplEm:
 2905|  13.1k|    SPAN_S(T) operator+(size_t n) const { return base + mem_size_get_n(sizeof(T), n - x); }
_ZN6PeFile7unpack0IN8PeFile6411pe_header_tE4LE64yEEvP10OutputFileRKT_RS6_T1_b:
 3037|     14|void PeFile::unpack0(OutputFile *fo, const ht &ih, ht &oh, ord_mask_t ord_mask, bool set_oft) {
 3038|       |    // infoHeader("[Processing %s, format %s, %d sections]", fn_basename(fi->getName()), getName(),
 3039|       |    // objs);
 3040|       |
 3041|     14|    handleStub(fi, fo, pe_offset);
 3042|     14|    if (ih.filealign == 0)
  ------------------
  |  Branch (3042:9): [True: 1, False: 13]
  ------------------
 3043|      1|        throwCantUnpack("unexpected value in the PE header");
 3044|       |
 3045|     13|    const unsigned iobjs = ih.objects;
 3046|     13|    const unsigned overlay =
 3047|     13|        file_size_u -
 3048|     13|        ALIGN_UP(isection[iobjs - 1].rawdataptr + isection[iobjs - 1].size, ih.filealign);
  ------------------
  |  |  511|     13|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
 3049|     13|    checkOverlay(overlay);
 3050|       |
 3051|     13|    ibuf.alloc(ph.c_len);
 3052|     13|    obuf.allocForDecompression(ph.u_len);
 3053|     13|    fi->seek(isection[1].rawdataptr - 64 + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
 3054|     13|    fi->readx(ibuf, ibufgood = ph.c_len);
 3055|       |
 3056|       |    // decompress
 3057|     13|    decompress(ibuf, obuf);
 3058|     13|    unsigned skip = get_le32(obuf + (ph.u_len - 4));
 3059|     13|    unsigned take = sizeof(oh);
 3060|     13|    SPAN_S_VAR(byte, extra_info, obuf);
  ------------------
  |  |  214|     13|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|     13|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     13|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|     13|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     13|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     13|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     13|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     13|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3061|     13|    extra_info = obuf.subref("bad extra_info offset %#x", skip, take);
 3062|       |    // byte *const eistart = raw_bytes(extra_info, 0);
 3063|       |
 3064|     13|    memcpy(&oh, extra_info, take);
 3065|     13|    extra_info += take;
 3066|     13|    skip += take;
 3067|     13|    unsigned objs = oh.objects;
 3068|       |
 3069|     13|    if ((int) objs <= 0 || (iobjs > 2 && isection[2].size == 0))
  ------------------
  |  Branch (3069:9): [True: 6, False: 7]
  |  Branch (3069:29): [True: 7, False: 0]
  |  Branch (3069:42): [True: 1, False: 6]
  ------------------
 3070|      1|        throwCantUnpack("unexpected value in the PE header");
 3071|     12|    Array(pe_section_t, osection, objs);
  ------------------
  |  |  473|     12|    MemBuffer var##_membuf(mem_size(sizeof(type), (n)));                                           \
  |  |  474|     13|    type *const var = ACC_STATIC_CAST(type *, var##_membuf.getVoidPtr())
  |  |  ------------------
  |  |  |  | 1472|     13|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 3072|     12|    take = sizeof(pe_section_t) * objs;
 3073|     12|    extra_info = obuf.subref("bad extra section size at %#x", skip, take);
 3074|     12|    memcpy(osection, extra_info, take);
 3075|     12|    extra_info += take;
 3076|     12|    skip += take;
 3077|     12|    rvamin = osection[0].vaddr;
 3078|       |
 3079|     12|    if (iobjs > 2) {
  ------------------
  |  Branch (3079:9): [True: 6, False: 6]
  ------------------
 3080|       |        // read the noncompressed section
 3081|      6|        const unsigned size = isection[2].size;
 3082|      6|        ibuf.dealloc();
 3083|      6|        ibuf.alloc(size + 1);
 3084|      6|        fi->seek(isection[2].rawdataptr, SEEK_SET);
 3085|      6|        fi->readx(ibuf, ibufgood = size);
 3086|      6|        ibuf[size] = 0; // allow strlen() up to 'size'
 3087|      6|    }
 3088|       |
 3089|       |    // unfilter
 3090|     12|    if (ph.filter) {
  ------------------
  |  Branch (3090:9): [True: 5, False: 7]
  ------------------
 3091|      5|        Filter ft(ph.level);
 3092|      5|        ft.init(ph.filter, oh.codebase - rvamin);
 3093|      5|        ft.cto = (byte) ph.filter_cto;
 3094|      5|        OCHECK(obuf + (oh.codebase - rvamin), oh.codesize);
  ------------------
  |  |   59|      5|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  ------------------
 3095|      5|        ft.unfilter(obuf + (oh.codebase - rvamin), oh.codesize);
 3096|      5|    }
 3097|       |
 3098|       |    // FIXME: ih.flags is checked here because of a bug in UPX 0.92
 3099|     12|    if (ih.flags & IMAGE_FILE_RELOCS_STRIPPED) {
  ------------------
  |  Branch (3099:9): [True: 4, False: 8]
  ------------------
 3100|      4|        oh.flags |= IMAGE_FILE_RELOCS_STRIPPED;
 3101|      4|        ODADDR(PEDIR_BASERELOC) = 0;
 3102|      4|        ODSIZE(PEDIR_BASERELOC) = 0;
 3103|      4|    }
 3104|       |
 3105|     12|    rebuildImports<LEXX>(extra_info, ord_mask, set_oft);
 3106|     12|    rebuildRelocs(extra_info, sizeof(ih.imagebase) * 8, oh.flags, oh.imagebase);
 3107|     12|    rebuildTls();
 3108|     12|    rebuildExports();
 3109|       |
 3110|     12|    if (iobjs > 3) {
  ------------------
  |  Branch (3110:9): [True: 0, False: 12]
  ------------------
 3111|       |        // read the resource section if present
 3112|      0|        ibuf.dealloc();
 3113|      0|        ibuf.alloc(isection[3].size);
 3114|      0|        fi->seek(isection[3].rawdataptr, SEEK_SET);
 3115|      0|        fi->readx(ibuf, ibufgood = isection[3].size);
 3116|      0|    }
 3117|       |
 3118|     12|    rebuildResources(extra_info, isection[ih.objects - 1].vaddr);
 3119|       |
 3120|       |    // FIXME: this does bad things if the relocation section got removed
 3121|       |    //  during compression ...
 3122|       |    // memset(eistart, 0, ptr_udiff_bytes(extra_info, eistart) + 4);
 3123|       |
 3124|       |    // fill the data directory
 3125|     12|    ODADDR(PEDIR_IAT) = 0;
 3126|     12|    ODSIZE(PEDIR_IAT) = 0;
 3127|     12|    ODADDR(PEDIR_BOUND_IMPORT) = 0;
 3128|     12|    ODSIZE(PEDIR_BOUND_IMPORT) = 0;
 3129|       |
 3130|     12|    setOhHeaderSize(osection);
 3131|     12|    oh.chksum = 0;
 3132|       |
 3133|       |    // write decompressed file
 3134|     12|    if (fo) {
  ------------------
  |  Branch (3134:9): [True: 3, False: 9]
  ------------------
 3135|      3|        unsigned ic = 0;
 3136|      3|        while (ic < objs && osection[ic].rawdataptr == 0)
  ------------------
  |  Branch (3136:16): [True: 3, False: 0]
  |  Branch (3136:29): [True: 0, False: 3]
  ------------------
 3137|      0|            ic++;
 3138|       |
 3139|      3|        ibuf.dealloc();
 3140|      3|        ibuf.alloc(osection[ic].rawdataptr);
 3141|      3|        ibuf.clear();
 3142|      3|        infoHeader("[Writing uncompressed file]");
 3143|       |
 3144|       |        // write header + decompressed file
 3145|      3|        fo->write(&oh, sizeof(oh));
 3146|      3|        fo->write(osection, objs * sizeof(pe_section_t));
 3147|      3|        fo->write(ibuf, osection[ic].rawdataptr - fo->getBytesWritten());
 3148|     38|        for (ic = 0; ic < objs; ic++)
  ------------------
  |  Branch (3148:22): [True: 35, False: 3]
  ------------------
 3149|     35|            if (osection[ic].rawdataptr)
  ------------------
  |  Branch (3149:17): [True: 33, False: 2]
  ------------------
 3150|     33|                fo->write(obuf + (osection[ic].vaddr - rvamin),
 3151|     33|                          ALIGN_UP(osection[ic].size, oh.filealign));
  ------------------
  |  |  511|     33|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
 3152|      3|        copyOverlay(fo, overlay, obuf);
 3153|      3|    }
 3154|     12|    ibuf.dealloc();
 3155|     12|}
_ZN6PeFile14rebuildImportsI4LE64yEEvRN5XSpan4SpanIhEET0_b:
 2946|      5|void PeFile::rebuildImports(SPAN_S(byte) & extra_info, ord_mask_t ord_mask, bool set_oft) {
 2947|      5|    if (ODADDR(PEDIR_IMPORT) == 0 || ODSIZE(PEDIR_IMPORT) <= sizeof(import_desc))
  ------------------
  |  Branch (2947:9): [True: 0, False: 5]
  |  Branch (2947:38): [True: 0, False: 5]
  ------------------
 2948|      0|        return;
 2949|       |
 2950|      5|    OPTR_VAR(const byte, const imdata, obuf + mem_size(1, get_le32(extra_info)));
  ------------------
  |  |   43|      5|#define OPTR_VAR(type, var, first) SPAN_S_VAR(type, var, first, obuf)
  |  |  ------------------
  |  |  |  |  214|      5|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      5|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      5|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      5|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2951|      5|    const unsigned inamespos = mem_size(1, get_le32(extra_info + 4));
 2952|      5|    extra_info += 8;
 2953|       |
 2954|      5|    unsigned sdllnames = 0;
 2955|       |
 2956|      5|    IPTR_VAR_OFFSET(const byte, const import, IDADDR(PEDIR_IMPORT) - isection[2].vaddr);
  ------------------
  |  |   45|      5|    SPAN_S_VAR(type, var, ibuf + (offset), ibuf.getSize() - (offset), ibuf + (offset))
  |  |  ------------------
  |  |  |  |  214|      5|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      5|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      5|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      5|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2957|      5|    OPTR_VAR(const byte, p, raw_bytes(imdata, 4));
  ------------------
  |  |   43|      5|#define OPTR_VAR(type, var, first) SPAN_S_VAR(type, var, first, obuf)
  |  |  ------------------
  |  |  |  |  214|      5|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      5|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      5|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      5|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2958|       |
 2959|     12|    for (; get_le32(p) != 0; ++p) {
  ------------------
  |  Branch (2959:12): [True: 7, False: 5]
  ------------------
 2960|      7|        const byte *dname = raw_bytes(import + mem_size(1, get_le32(p)), 1);
  ------------------
  |  |   36|     14|#define import  my_import // "import" is a keyword since C++20
  ------------------
 2961|      7|        const unsigned dlen = strlen(dname);
  ------------------
  |  |   70|      7|#define strlen upx_safe_strlen
  ------------------
 2962|      7|        ICHECK(dname, dlen + 1);
  ------------------
  |  |   58|      7|#define ICHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, ibuf, ibuf.getSize())
  ------------------
 2963|       |
 2964|      7|        sdllnames += dlen + 1;
 2965|    332|        for (p += 8; *p;)
  ------------------
  |  Branch (2965:22): [True: 325, False: 7]
  ------------------
 2966|    325|            if (*p == 1)
  ------------------
  |  Branch (2966:17): [True: 325, False: 0]
  ------------------
 2967|    325|                p += 1 + strlen(p + 1) + 1;
  ------------------
  |  |   70|    325|#define strlen upx_safe_strlen
  ------------------
 2968|      0|            else if (*p == 0xff)
  ------------------
  |  Branch (2968:22): [True: 0, False: 0]
  ------------------
 2969|      0|                p += 3; // ordinal
 2970|      0|            else
 2971|      0|                p += 5;
 2972|      7|    }
 2973|      5|    sdllnames = ALIGN_UP(sdllnames, 2u);
  ------------------
  |  |  511|      5|#define ALIGN_UP(a, b)     (upx::align_up((a), (b)))
  ------------------
 2974|       |
 2975|       |    // INFO: use VPtr for "virtual pointer" pointing before a buffer
 2976|       |    //// byte *const Obuf = obuf.raw_bytes(0) - rvamin;
 2977|      5|    VPtr<byte> const Obuf{obuf, rvamin};
 2978|      5|    SPAN_S_VAR(import_desc, im, (import_desc *) raw_bytes(Obuf + ODADDR(PEDIR_IMPORT), 0), obuf);
  ------------------
  |  |  214|      5|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|      5|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      5|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      5|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2979|      5|    SPAN_0_VAR(byte, dllnames, inamespos ? raw_bytes(Obuf + inamespos, 0) : nullptr, obuf);
  ------------------
  |  |  212|      5|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|     10|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      5|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      5|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (107:46): [True: 0, False: 5]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2980|      5|    SPAN_0_VAR(byte, const importednames_start, inamespos ? dllnames + sdllnames : nullptr);
  ------------------
  |  |  212|      5|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|     10|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      5|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      5|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (107:46): [True: 0, False: 5]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2981|      5|    SPAN_0_VAR(byte, importednames, importednames_start);
  ------------------
  |  |  212|      5|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|      5|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|      5|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      5|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|      5|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|      5|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2982|       |
 2983|     12|    for (p = imdata; get_le32(p) != 0; ++p) {
  ------------------
  |  Branch (2983:22): [True: 7, False: 5]
  ------------------
 2984|       |        // restore the name of the dll
 2985|      7|        const byte *dname = raw_bytes(import + get_le32(p), 1);
  ------------------
  |  |   36|     14|#define import  my_import // "import" is a keyword since C++20
  ------------------
 2986|      7|        const unsigned dlen = strlen(dname);
  ------------------
  |  |   70|      7|#define strlen upx_safe_strlen
  ------------------
 2987|      7|        ICHECK(dname, dlen + 1);
  ------------------
  |  |   58|      7|#define ICHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, ibuf, ibuf.getSize())
  ------------------
 2988|       |
 2989|      7|        const unsigned iatoffs = get_le32(p + 4) + rvamin;
 2990|      7|        if (inamespos) {
  ------------------
  |  Branch (2990:13): [True: 0, False: 7]
  ------------------
 2991|       |            // now I rebuild the dll names
 2992|      0|            omemcpy(dllnames, dname, dlen + 1);
  ------------------
  |  |   64|      0|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   59|      0|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 2993|      0|            im->dllname = ptr_udiff_bytes(dllnames, obuf) + rvamin;
 2994|       |            //;;;printf("\ndll: %s:",dllnames);
 2995|      0|            dllnames += dlen + 1;
 2996|      7|        } else {
 2997|      7|            omemcpy(Obuf + im->dllname, dname, dlen + 1);
  ------------------
  |  |   64|      7|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   59|      7|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 2998|      7|        }
 2999|      7|        im->iat = iatoffs;
 3000|      7|        if (set_oft)
  ------------------
  |  Branch (3000:13): [True: 0, False: 7]
  ------------------
 3001|      0|            im->oft = iatoffs;
 3002|       |
 3003|      7|        OPTR_VAR(LEXX, newiat, (LEXX *) raw_bytes(Obuf + iatoffs, 0));
  ------------------
  |  |   43|      7|#define OPTR_VAR(type, var, first) SPAN_S_VAR(type, var, first, obuf)
  |  |  ------------------
  |  |  |  |  214|      7|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      7|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      7|#define XSPAN_S(type) Span<type>
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      7|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   36|      7|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      7|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3004|       |
 3005|       |        // restore the imported names+ordinals
 3006|    332|        for (p += 8; *p; ++newiat)
  ------------------
  |  Branch (3006:22): [True: 325, False: 7]
  ------------------
 3007|    325|            if (*p == 1) {
  ------------------
  |  Branch (3007:17): [True: 325, False: 0]
  ------------------
 3008|    325|                const unsigned ilen = strlen(++p) + 1;
  ------------------
  |  |   70|    325|#define strlen upx_safe_strlen
  ------------------
 3009|    325|                if (inamespos) {
  ------------------
  |  Branch (3009:21): [True: 0, False: 325]
  ------------------
 3010|      0|                    if (ptr_udiff_bytes(importednames, importednames_start) & 1)
  ------------------
  |  Branch (3010:25): [True: 0, False: 0]
  ------------------
 3011|      0|                        importednames -= 1;
 3012|      0|                    omemcpy(importednames + 2, p, ilen);
  ------------------
  |  |   64|      0|#define omemcpy(a, b, c)  OCHECK(a, c), memcpy(a, b, c)
  |  |  ------------------
  |  |  |  |   59|      0|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3013|       |                    //;;;printf(" %s",importednames+2);
 3014|      0|                    *newiat = ptr_udiff_bytes(importednames, obuf) + rvamin;
 3015|      0|                    importednames += 2 + ilen;
 3016|    325|                } else {
 3017|       |                    // Beware overlap!
 3018|    325|                    omemmove(Obuf + (*newiat + 2), p, ilen);
  ------------------
  |  |   65|    325|#define omemmove(a, b, c) OCHECK(a, c), memmove(a, b, c)
  |  |  ------------------
  |  |  |  |   59|    325|#define OCHECK(p, bytes) xcheck(raw_bytes(p, 0), bytes, obuf, obuf.getSize())
  |  |  ------------------
  ------------------
 3019|    325|                }
 3020|    325|                p += ilen;
 3021|    325|            } else if (*p == 0xff) {
  ------------------
  |  Branch (3021:24): [True: 0, False: 0]
  ------------------
 3022|      0|                *newiat = get_le16(p + 1) + ord_mask;
 3023|       |                //;;;printf(" %x",(unsigned)*newiat);
 3024|      0|                p += 3;
 3025|      0|            } else {
 3026|      0|                *newiat = *(const LEXX *) raw_bytes(import + get_le32(p + 1), sizeof(LEXX));
  ------------------
  |  |   36|      0|#define import  my_import // "import" is a keyword since C++20
  ------------------
 3027|      0|                assert(*newiat & ord_mask);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3028|      0|                p += 5;
 3029|      0|            }
 3030|      7|        *newiat = 0;
 3031|      7|        im++;
 3032|      7|    }
 3033|       |    // memset(imdata, 0, ptr_udiff_bytes(p, imdata));
 3034|      5|}

_ZNK6PeFile10getVersionEv:
   37|  40.2k|    virtual int getVersion() const override { return 13; }
_ZNK6PeFile16canUnpackVersionEi:
   76|    142|    virtual bool canUnpackVersion(int version) const override {
   77|    142|        return (version >= 12 && version <= 13);
  ------------------
  |  Branch (77:17): [True: 139, False: 3]
  |  Branch (77:34): [True: 139, False: 0]
  ------------------
   78|    142|    }

_ZN8UiPackerC2EPK10PackerBase:
  159|   412k|UiPacker::UiPacker(const PackerBase *pb_) : pb(pb_) {
  160|   412k|    static upx_std_once_flag init_done;
  161|   412k|    upx_std_call_once(init_done, init_global_constants);
  162|       |
  163|   412k|    cb.reset();
  164|       |
  165|   412k|    s = new State;
  166|   412k|    mem_clear(s);
  167|   412k|    s->msg_buf[0] = '\r';
  168|       |
  169|       |#if defined(UI_USE_SCREEN)
  170|       |    // FIXME - ugly hack
  171|       |    s->screen = sobject_get_screen();
  172|       |#endif
  173|       |
  174|   412k|    if (opt->verbose < 0)
  ------------------
  |  Branch (174:9): [True: 0, False: 412k]
  ------------------
  175|      0|        s->mode = M_QUIET;
  176|   412k|    else if (opt->verbose == 0 || !acc_isatty(STDOUT_FILENO))
  ------------------
  |  Branch (176:14): [True: 0, False: 412k]
  |  Branch (176:35): [True: 412k, False: 0]
  ------------------
  177|   412k|        s->mode = M_INFO;
  178|      0|    else if (opt->verbose == 1 || opt->no_progress)
  ------------------
  |  Branch (178:14): [True: 0, False: 0]
  |  Branch (178:35): [True: 0, False: 0]
  ------------------
  179|      0|        s->mode = M_MSG;
  180|      0|    else if (s->screen == nullptr)
  ------------------
  |  Branch (180:14): [True: 0, False: 0]
  ------------------
  181|      0|        s->mode = M_CB_TERM;
  182|      0|    else
  183|      0|        s->mode = M_CB_SCREEN;
  184|   412k|}
_ZN8UiPackerD2Ev:
  186|   412k|UiPacker::~UiPacker() noexcept {
  187|   412k|    cb.reset();
  188|       |    // owner
  189|   412k|    upx::owner_delete(s);
  190|   412k|}
_ZN8UiPacker13uiUnpackStartEPK10OutputFile:
  485|  6.18k|void UiPacker::uiUnpackStart(const OutputFile *fo) {
  486|  6.18k|    total_files++;
  487|  6.18k|    UNUSED(fo);
  ------------------
  |  |  249|  6.18k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  6.18k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  488|  6.18k|}
_ZN8UiPacker11uiUnpackEndEPK10OutputFile:
  490|     65|void UiPacker::uiUnpackEnd(const OutputFile *fo) {
  491|     65|    uiUpdate(-1, fo->getBytesWritten());
  492|       |
  493|     65|    if (s->mode == M_QUIET)
  ------------------
  |  Branch (493:9): [True: 0, False: 65]
  ------------------
  494|      0|        return;
  495|       |
  496|     65|    const char *name = pb->fi->getName();
  497|     65|    if (opt->output_name)
  ------------------
  |  Branch (497:9): [True: 65, False: 0]
  ------------------
  498|     65|        name = opt->output_name;
  499|      0|    else if (opt->to_stdout)
  ------------------
  |  Branch (499:14): [True: 0, False: 0]
  ------------------
  500|      0|        name = "<stdout>";
  501|     65|    con_fprintf(stdout, "%s\n",
  ------------------
  |  |  165|     65|#define con_fprintf  fprintf
  ------------------
  502|     65|                mkline(fo->getBytesWritten(), pb->file_size, pb->ph.u_len, pb->ph.c_len,
  503|     65|                       pb->getName(), fn_basename(name), true));
  504|     65|    printSetNl(0);
  505|     65|}
_ZN8UiPacker13uiUnpackTotalEv:
  507|  14.1k|/*static*/ void UiPacker::uiUnpackTotal() {
  508|  14.1k|    uiListTotal(true);
  509|  14.1k|    uiFooter("Unpacked");
  510|  14.1k|}
_ZN8UiPacker11uiListTotalEb:
  528|  14.1k|/*static*/ void UiPacker::uiListTotal(bool decompress) {
  529|  14.1k|    if (opt->verbose >= 1 && total_files >= 2) {
  ------------------
  |  Branch (529:9): [True: 14.1k, False: 0]
  |  Branch (529:30): [True: 14.1k, False: 25]
  ------------------
  530|  14.1k|        char name[32];
  531|  14.1k|        upx_safe_snprintf(name, sizeof(name), "[ %u file%s ]", total_files_done,
  532|  14.1k|                          total_files_done == 1 ? "" : "s");
  ------------------
  |  Branch (532:27): [True: 573, False: 13.5k]
  ------------------
  533|  14.1k|        con_fprintf(
  ------------------
  |  |  165|  14.1k|#define con_fprintf  fprintf
  ------------------
  534|       |            stdout, "%s%s\n", header_line2,
  535|  14.1k|            mkline(total_fu_len, total_fc_len, total_u_len, total_c_len, "", name, decompress));
  536|  14.1k|        printSetNl(0);
  537|  14.1k|    }
  538|  14.1k|}
_ZN8UiPacker8uiHeaderEv:
  596|  14.1k|/*static*/ void UiPacker::uiHeader() {
  597|  14.1k|    static upx_std_atomic(bool) done;
  598|  14.1k|    if (done)
  ------------------
  |  Branch (598:9): [True: 14.1k, False: 1]
  ------------------
  599|  14.1k|        return;
  600|      1|    done = true;
  601|      1|    if (opt->cmd == CMD_TEST || opt->cmd == CMD_FILEINFO)
  ------------------
  |  Branch (601:9): [True: 0, False: 1]
  |  Branch (601:33): [True: 0, False: 1]
  ------------------
  602|      0|        return;
  603|      1|    if (opt->verbose >= 1) {
  ------------------
  |  Branch (603:9): [True: 1, False: 0]
  ------------------
  604|      1|        con_fprintf(stdout, "%s%s", header_line1, header_line2);
  ------------------
  |  |  165|      1|#define con_fprintf  fprintf
  ------------------
  605|      1|    }
  606|      1|}
_ZN8UiPacker8uiFooterEPKc:
  608|  14.1k|/*static*/ void UiPacker::uiFooter(const char *t) {
  609|  14.1k|    static upx_std_atomic(bool) done;
  610|  14.1k|    if (done)
  ------------------
  |  Branch (610:9): [True: 14.1k, False: 1]
  ------------------
  611|  14.1k|        return;
  612|      1|    done = true;
  613|      1|    if (opt->verbose >= 1) {
  ------------------
  |  Branch (613:9): [True: 1, False: 0]
  ------------------
  614|      1|        assert(total_files >= total_files_done);
  ------------------
  |  |  493|      1|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      2|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|      0|        unsigned n1 = total_files;
  616|      1|        unsigned n2 = total_files_done;
  617|      1|        unsigned n3 = total_files - total_files_done;
  618|      1|        if (n3 == 0)
  ------------------
  |  Branch (618:13): [True: 1, False: 0]
  ------------------
  619|      1|            con_fprintf(stdout, "\n%s %u file%s.\n", t, n1, n1 == 1 ? "" : "s");
  ------------------
  |  |  165|      1|#define con_fprintf  fprintf
  ------------------
  |  Branch (619:61): [True: 0, False: 1]
  ------------------
  620|      0|        else
  621|      0|            con_fprintf(stdout, "\n%s %u file%s: %u ok, %u error%s.\n", t, n1, n1 == 1 ? "" : "s",
  ------------------
  |  |  165|      0|#define con_fprintf  fprintf
  ------------------
  |  Branch (621:80): [True: 0, False: 0]
  ------------------
  622|      0|                        n2, n3, n3 == 1 ? "" : "s");
  ------------------
  |  Branch (622:33): [True: 0, False: 0]
  ------------------
  623|      1|    }
  624|      1|}
_ZN8UiPacker8uiUpdateExx:
  626|     65|void UiPacker::uiUpdate(upx_off_t fc_len, upx_off_t fu_len) {
  627|     65|    update_fc_len = (fc_len >= 0) ? fc_len : pb->file_size_u;
  ------------------
  |  Branch (627:21): [True: 0, False: 65]
  ------------------
  628|     65|    update_fu_len = (fu_len >= 0) ? fu_len : pb->ph.u_file_size;
  ------------------
  |  Branch (628:21): [True: 65, False: 0]
  ------------------
  629|     65|    update_c_len = pb->ph.c_len;
  630|     65|    update_u_len = pb->ph.u_len;
  631|     65|}
_ZN8UiPacker15uiConfirmUpdateEv:
  633|     65|/*static*/ void UiPacker::uiConfirmUpdate() {
  634|     65|    total_files_done++;
  635|     65|    total_fc_len += update_fc_len;
  636|     65|    total_fu_len += update_fu_len;
  637|     65|    total_c_len += update_c_len;
  638|     65|    total_u_len += update_u_len;
  639|     65|}
ui.cpp:_ZL21init_global_constantsv:
  103|      1|static void init_global_constants(void) noexcept {
  104|       |#if 0 && (ACC_OS_DOS16 || ACC_OS_DOS32)
  105|       |    // FIXME: should test codepage here
  106|       |
  107|       |#if 1 && (ACC_OS_DOS32) && defined(__DJGPP__)
  108|       |    /* check for Windows NT/2000/XP */
  109|       |    if (_get_dos_version(1) == 0x0532)
  110|       |        return;
  111|       |#endif
  112|       |
  113|       |    char *p;
  114|       |    for (p = header_line2; *p; p++)
  115|       |        if (*p == '-')
  116|       |            *p = '\xc4';
  117|       |
  118|       |    //strcpy(progress_filler, "\x07\xb0[]");
  119|       |    //strcpy(progress_filler, "\x07\xb1[]");
  120|       |    strcpy(progress_filler, "\xf9\xfe[]");
  121|       |#endif
  122|      1|}
ui.cpp:_ZL6mklineyyyyPKcS0_b:
  130|  14.1k|                          bool decompress = false) {
  131|  14.1k|    static char buf[2048]; // static! // TODO later: check if affected by WITH_THREADS
  132|  14.1k|    char r[7 + 1];
  133|  14.1k|    char fn[15 + 1];
  134|  14.1k|    const char *f;
  135|       |
  136|       |    // Large ratios can happen because of overlays that are
  137|       |    // appended after a program is packed.
  138|  14.1k|    unsigned ratio = get_ratio(fu_len, fc_len);
  139|  14.1k|    if (ratio >= 1000 * 1000)
  ------------------
  |  Branch (139:9): [True: 1, False: 14.1k]
  ------------------
  140|      1|        strcpy(r, "overlay");
  141|  14.1k|    else
  142|  14.1k|        upx_safe_snprintf(r, sizeof(r), "%3u.%02u%%", ratio / 10000, (ratio % 10000) / 100);
  143|  14.1k|    if (decompress)
  ------------------
  |  Branch (143:9): [True: 14.1k, False: 0]
  ------------------
  144|  14.1k|        f = "%10lld <-%10lld  %7s %15s %s";
  145|      0|    else
  146|      0|        f = "%10lld ->%10lld  %7s %15s %s";
  147|  14.1k|    center_string(fn, sizeof(fn), format_name);
  148|  14.1k|    assert(strlen(fn) == 15);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  149|      0|    upx_safe_snprintf(buf, sizeof(buf), f, (long long) fu_len, (long long) fc_len, r, fn, filename);
  150|  14.1k|    UNUSED(u_len);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  151|  14.1k|    UNUSED(c_len);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  152|  14.1k|    return buf;
  153|  14.1k|}

_ZN3upx11NonCopyAbleC2Ev:
  381|  14.2k|    forceinline constexpr NonCopyAble() noexcept {}
_ZN3upx12compile_time6mem_eqEPKhS2_m:
   67|   127k|constexpr bool mem_eq(const unsigned char *a, const unsigned char *b, std::size_t n) noexcept {
   68|   127k|    return n == 0 || (*a == *b && mem_eq(a + 1, b + 1, n - 1));
  ------------------
  |  Branch (68:12): [True: 14.1k, False: 113k]
  |  Branch (68:23): [True: 113k, False: 0]
  |  Branch (68:35): [True: 113k, False: 0]
  ------------------
   69|   127k|}
_ZN3upx12compile_time7mem_setEPhhm:
   80|  1.25M|constexpr void mem_set(unsigned char *p, unsigned char c, std::size_t n) noexcept {
   81|  1.25M|    (void) (n == 0 || (*p = c, mem_set(p + 1, c, n - 1), 0));
  ------------------
  |  Branch (81:13): [True: 127k, False: 1.13M]
  |  Branch (81:23): [True: 0, False: 1.13M]
  ------------------
   82|  1.25M|}
_ZN3upx12compile_time9mem_clearEPhm:
   84|   113k|forceinline constexpr void mem_clear(unsigned char *p, std::size_t n) noexcept {
   85|   113k|    mem_set(p, (unsigned char) 0, n);
   86|   113k|}
_ZN3upx12compile_time11upx_bswap16Et:
   88|  42.4k|forceinline constexpr upx_uint16_t bswap16(upx_uint16_t v) noexcept {
   89|  42.4k|    typedef unsigned U;
   90|  42.4k|    return (upx_uint16_t) ((((U) v >> 8) & 0xff) | (((U) v & 0xff) << 8));
   91|  42.4k|}
_ZN3upx12compile_time11upx_bswap32Ej:
   92|  42.4k|forceinline constexpr upx_uint32_t bswap32(upx_uint32_t v) noexcept {
   93|  42.4k|    typedef upx_uint32_t U;
   94|  42.4k|    return (upx_uint32_t) ((((U) v >> 24) & 0xff) | (((U) v >> 8) & 0xff00) |
   95|  42.4k|                           (((U) v & 0xff00) << 8) | (((U) v & 0xff) << 24));
   96|  42.4k|}
_ZN3upx12compile_time11upx_bswap64Ey:
   97|  42.4k|forceinline constexpr upx_uint64_t bswap64(upx_uint64_t v) noexcept {
   98|       |    // return (upx_uint64_t) (((upx_uint64_t) bswap32((upx_uint32_t) v) << 32) |
   99|       |    //                        bswap32((upx_uint32_t) (v >> 32)));
  100|  42.4k|    return ((v & 0xff) << 56) | ((v & 0xff00) << 40) | ((v & 0xff0000) << 24) |
  101|  42.4k|           ((v & 0xff000000) << 8) | ((v >> 8) & 0xff000000) | ((v >> 24) & 0xff0000) |
  102|  42.4k|           ((v >> 40) & 0xff00) | ((v >> 56) & 0xff);
  103|  42.4k|}
_ZN3upx12compile_time8get_be16EPKh:
  105|  84.8k|forceinline constexpr upx_uint16_t get_be16(const byte *p) noexcept {
  106|  84.8k|    typedef unsigned U;
  107|  84.8k|    return (upx_uint16_t) (((U) p[0] << 8) | ((U) p[1] << 0));
  108|  84.8k|}
_ZN3upx12compile_time8get_be24EPKh:
  109|   488k|forceinline constexpr upx_uint32_t get_be24(const byte *p) noexcept {
  110|   488k|    typedef upx_uint32_t U;
  111|   488k|    return (upx_uint32_t) (((U) p[0] << 16) | ((U) p[1] << 8) | ((U) p[2] << 0));
  112|   488k|}
_ZN3upx12compile_time8get_be32EPKh:
  113|  84.8k|forceinline constexpr upx_uint32_t get_be32(const byte *p) noexcept {
  114|  84.8k|    typedef upx_uint32_t U;
  115|  84.8k|    return (upx_uint32_t) (((U) p[0] << 24) | ((U) p[1] << 16) | ((U) p[2] << 8) | ((U) p[3] << 0));
  116|  84.8k|}
_ZN3upx12compile_time8get_be64EPKh:
  117|  84.8k|forceinline constexpr upx_uint64_t get_be64(const byte *p) noexcept {
  118|  84.8k|    typedef upx_uint64_t U;
  119|  84.8k|    return (upx_uint64_t) (((U) p[0] << 56) | ((U) p[1] << 48) | ((U) p[2] << 40) |
  120|  84.8k|                           ((U) p[3] << 32) | ((U) p[4] << 24) | ((U) p[5] << 16) |
  121|  84.8k|                           ((U) p[6] << 8) | ((U) p[7] << 0));
  122|  84.8k|}
_ZN3upx12compile_time8set_be16EPht:
  124|  42.4k|forceinline constexpr void set_be16(byte *p, upx_uint16_t v) noexcept {
  125|  42.4k|    p[0] = (byte) ((v >> 8) & 0xff);
  126|  42.4k|    p[1] = (byte) ((v >> 0) & 0xff);
  127|  42.4k|}
_ZN3upx12compile_time8set_be24EPhj:
  128|   417k|forceinline constexpr void set_be24(byte *p, upx_uint32_t v) noexcept {
  129|   417k|    p[0] = (byte) ((v >> 16) & 0xff);
  130|   417k|    p[1] = (byte) ((v >> 8) & 0xff);
  131|   417k|    p[2] = (byte) ((v >> 0) & 0xff);
  132|   417k|}
_ZN3upx12compile_time8set_be32EPhj:
  133|  42.4k|forceinline constexpr void set_be32(byte *p, upx_uint32_t v) noexcept {
  134|  42.4k|    p[0] = (byte) ((v >> 24) & 0xff);
  135|  42.4k|    p[1] = (byte) ((v >> 16) & 0xff);
  136|  42.4k|    p[2] = (byte) ((v >> 8) & 0xff);
  137|  42.4k|    p[3] = (byte) ((v >> 0) & 0xff);
  138|  42.4k|}
_ZN3upx12compile_time8set_be64EPhy:
  139|  42.4k|forceinline constexpr void set_be64(byte *p, upx_uint64_t v) noexcept {
  140|  42.4k|    p[0] = (byte) ((v >> 56) & 0xff);
  141|  42.4k|    p[1] = (byte) ((v >> 48) & 0xff);
  142|  42.4k|    p[2] = (byte) ((v >> 40) & 0xff);
  143|  42.4k|    p[3] = (byte) ((v >> 32) & 0xff);
  144|  42.4k|    p[4] = (byte) ((v >> 24) & 0xff);
  145|  42.4k|    p[5] = (byte) ((v >> 16) & 0xff);
  146|  42.4k|    p[6] = (byte) ((v >> 8) & 0xff);
  147|  42.4k|    p[7] = (byte) ((v >> 0) & 0xff);
  148|  42.4k|}
_ZN3upx12compile_time8get_le16EPKh:
  150|  56.5k|forceinline constexpr upx_uint16_t get_le16(const byte *p) noexcept {
  151|  56.5k|    typedef unsigned U;
  152|  56.5k|    return (upx_uint16_t) (((U) p[0] << 0) | ((U) p[1] << 8));
  153|  56.5k|}
_ZN3upx12compile_time8get_le24EPKh:
  154|   720k|forceinline constexpr upx_uint32_t get_le24(const byte *p) noexcept {
  155|   720k|    typedef upx_uint32_t U;
  156|   720k|    return (upx_uint32_t) (((U) p[0] << 0) | ((U) p[1] << 8) | ((U) p[2] << 16));
  157|   720k|}
_ZN3upx12compile_time8get_le32EPKh:
  158|  56.5k|forceinline constexpr upx_uint32_t get_le32(const byte *p) noexcept {
  159|  56.5k|    typedef upx_uint32_t U;
  160|  56.5k|    return (upx_uint32_t) (((U) p[0] << 0) | ((U) p[1] << 8) | ((U) p[2] << 16) | ((U) p[3] << 24));
  161|  56.5k|}
_ZN3upx12compile_time8get_le64EPKh:
  162|  56.5k|forceinline constexpr upx_uint64_t get_le64(const byte *p) noexcept {
  163|  56.5k|    typedef upx_uint64_t U;
  164|  56.5k|    return (upx_uint64_t) (((U) p[0] << 0) | ((U) p[1] << 8) | ((U) p[2] << 16) | ((U) p[3] << 24) |
  165|  56.5k|                           ((U) p[4] << 32) | ((U) p[5] << 40) | ((U) p[6] << 48) |
  166|  56.5k|                           ((U) p[7] << 56));
  167|  56.5k|}
_ZN3upx12compile_time8set_le16EPht:
  169|  42.4k|forceinline constexpr void set_le16(byte *p, upx_uint16_t v) noexcept {
  170|  42.4k|    p[0] = (byte) ((v >> 0) & 0xff);
  171|  42.4k|    p[1] = (byte) ((v >> 8) & 0xff);
  172|  42.4k|}
_ZN3upx12compile_time8set_le24EPhj:
  173|   649k|forceinline constexpr void set_le24(byte *p, upx_uint32_t v) noexcept {
  174|   649k|    p[0] = (byte) ((v >> 0) & 0xff);
  175|   649k|    p[1] = (byte) ((v >> 8) & 0xff);
  176|   649k|    p[2] = (byte) ((v >> 16) & 0xff);
  177|   649k|}
_ZN3upx12compile_time8set_le32EPhj:
  178|  42.4k|forceinline constexpr void set_le32(byte *p, upx_uint32_t v) noexcept {
  179|  42.4k|    p[0] = (byte) ((v >> 0) & 0xff);
  180|  42.4k|    p[1] = (byte) ((v >> 8) & 0xff);
  181|  42.4k|    p[2] = (byte) ((v >> 16) & 0xff);
  182|  42.4k|    p[3] = (byte) ((v >> 24) & 0xff);
  183|  42.4k|}
_ZN3upx12compile_time8set_le64EPhy:
  184|  42.4k|forceinline constexpr void set_le64(byte *p, upx_uint64_t v) noexcept {
  185|  42.4k|    p[0] = (byte) ((v >> 0) & 0xff);
  186|  42.4k|    p[1] = (byte) ((v >> 8) & 0xff);
  187|  42.4k|    p[2] = (byte) ((v >> 16) & 0xff);
  188|  42.4k|    p[3] = (byte) ((v >> 24) & 0xff);
  189|  42.4k|    p[4] = (byte) ((v >> 32) & 0xff);
  190|  42.4k|    p[5] = (byte) ((v >> 40) & 0xff);
  191|  42.4k|    p[6] = (byte) ((v >> 48) & 0xff);
  192|  42.4k|    p[7] = (byte) ((v >> 56) & 0xff);
  193|  42.4k|}
_ZN3upx12compile_time8get_ne24EPKh:
  204|   198k|forceinline constexpr upx_uint32_t get_ne24(const byte *p) noexcept {
  205|       |#if (ACC_ABI_BIG_ENDIAN)
  206|       |    return get_be24(p);
  207|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  208|       |    return get_le24(p);
  209|       |#else
  210|       |#error "ACC_ABI_ENDIAN"
  211|       |#endif
  212|   198k|}
_ZN3upx12compile_time8set_ne24EPhj:
  241|   198k|forceinline constexpr void set_ne24(byte *p, upx_uint32_t v) noexcept {
  242|       |#if (ACC_ABI_BIG_ENDIAN)
  243|       |    set_be24(p, v);
  244|       |#elif (ACC_ABI_LITTLE_ENDIAN)
  245|       |    set_le24(p, v);
  246|       |#else
  247|       |#error "ACC_ABI_ENDIAN"
  248|       |#endif
  249|   198k|}
_ZN3upx14has_single_bitImEEbRKT_:
  434|  42.4k|forceinline constexpr bool has_single_bit(const T &x) noexcept {
  435|  42.4k|    return !(x == 0) && (x & (x - 1)) == 0;
  ------------------
  |  Branch (435:12): [True: 42.4k, False: 0]
  |  Branch (435:25): [True: 42.4k, False: 0]
  ------------------
  436|  42.4k|}
_ZN3upx15ptr_static_castIPKhvEET_PKT0_:
  528|  2.79M|forceinline constexpr Result ptr_static_cast(const From *ptr) noexcept {
  529|  2.79M|    static_assert(std::is_pointer_v<Result>);
  530|  2.79M|    static_assert(std::is_const_v<std::remove_pointer_t<Result> >); // required
  531|       |    // don't cast through "const void *" if type is convertible
  532|  2.79M|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, const void *>
  533|  2.79M|        VoidPtr;
  534|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  535|  2.79M|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  536|  2.79M|}
_ZN3upx15ptr_static_castIPhvEET_PT0_:
  519|  70.7k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  70.7k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  70.7k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  70.7k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  70.7k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  70.7k|}
_ZN3upx15ptr_static_castIPhtEET_PT0_:
  519|  28.2k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  28.2k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  28.2k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  28.2k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  28.2k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  28.2k|}
_ZN3upx15ptr_static_castIPhjEET_PT0_:
  519|  28.2k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  28.2k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  28.2k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  28.2k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  28.2k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  28.2k|}
_ZN3upx15ptr_static_castIPhyEET_PT0_:
  519|  28.2k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  28.2k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  28.2k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  28.2k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  28.2k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  28.2k|}
_ZN3upx15ptr_static_castIPKhtEET_PKT0_:
  528|  28.2k|forceinline constexpr Result ptr_static_cast(const From *ptr) noexcept {
  529|  28.2k|    static_assert(std::is_pointer_v<Result>);
  530|  28.2k|    static_assert(std::is_const_v<std::remove_pointer_t<Result> >); // required
  531|       |    // don't cast through "const void *" if type is convertible
  532|  28.2k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, const void *>
  533|  28.2k|        VoidPtr;
  534|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  535|  28.2k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  536|  28.2k|}
_ZN3upx15ptr_static_castIPKhjEET_PKT0_:
  528|  28.5k|forceinline constexpr Result ptr_static_cast(const From *ptr) noexcept {
  529|  28.5k|    static_assert(std::is_pointer_v<Result>);
  530|  28.5k|    static_assert(std::is_const_v<std::remove_pointer_t<Result> >); // required
  531|       |    // don't cast through "const void *" if type is convertible
  532|  28.5k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, const void *>
  533|  28.5k|        VoidPtr;
  534|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  535|  28.5k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  536|  28.5k|}
_ZN3upx15ptr_static_castIPKhyEET_PKT0_:
  528|  28.2k|forceinline constexpr Result ptr_static_cast(const From *ptr) noexcept {
  529|  28.2k|    static_assert(std::is_pointer_v<Result>);
  530|  28.2k|    static_assert(std::is_const_v<std::remove_pointer_t<Result> >); // required
  531|       |    // don't cast through "const void *" if type is convertible
  532|  28.2k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, const void *>
  533|  28.2k|        VoidPtr;
  534|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  535|  28.2k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  536|  28.2k|}
_ZN3upx3minIcEET_RKS1_S3_:
  474|  56.5k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|  56.5k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 56.5k]
  ------------------
  476|  56.5k|}
_ZN3upx3maxIcEET_RKS1_S3_:
  478|  56.5k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|  56.5k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 56.5k, False: 0]
  ------------------
  480|  56.5k|}
_ZN3upx10align_downIcEET_RKS1_S3_:
  443|   226k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   226k|    T r = {};
  446|   226k|    r = x - (x & (alignment - 1));
  447|   226k|    return r;
  448|   226k|}
_ZN3upx8align_upIcEET_RKS1_S3_:
  457|   226k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   226k|    T r = {};
  460|   226k|    constexpr T zero = {};
  461|   226k|    r = x + ((zero - x) & (alignment - 1));
  462|   226k|    return r;
  463|   226k|}
_ZN3upx12align_up_gapIcEET_RKS1_S3_:
  465|   226k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   226k|    T r = {};
  468|   226k|    constexpr T zero = {};
  469|   226k|    r = (zero - x) & (alignment - 1);
  470|   226k|    return r;
  471|   226k|}
_ZN3upx3minIaEET_RKS1_S3_:
  474|   113k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   113k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 113k]
  ------------------
  476|   113k|}
_ZN3upx3maxIaEET_RKS1_S3_:
  478|   113k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   113k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 113k, False: 0]
  ------------------
  480|   113k|}
_ZN3upx10align_downIaEET_RKS1_S3_:
  443|   452k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   452k|    T r = {};
  446|   452k|    r = x - (x & (alignment - 1));
  447|   452k|    return r;
  448|   452k|}
_ZN3upx8align_upIaEET_RKS1_S3_:
  457|   452k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   452k|    T r = {};
  460|   452k|    constexpr T zero = {};
  461|   452k|    r = x + ((zero - x) & (alignment - 1));
  462|   452k|    return r;
  463|   452k|}
_ZN3upx12align_up_gapIaEET_RKS1_S3_:
  465|   452k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   452k|    T r = {};
  468|   452k|    constexpr T zero = {};
  469|   452k|    r = (zero - x) & (alignment - 1);
  470|   452k|    return r;
  471|   452k|}
_ZN3upx3minIhEET_RKS1_S3_:
  474|   113k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   113k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 113k]
  ------------------
  476|   113k|}
_ZN3upx3maxIhEET_RKS1_S3_:
  478|   113k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   113k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 113k, False: 0]
  ------------------
  480|   113k|}
_ZN3upx10align_downIhEET_RKS1_S3_:
  443|   452k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   452k|    T r = {};
  446|   452k|    r = x - (x & (alignment - 1));
  447|   452k|    return r;
  448|   452k|}
_ZN3upx8align_upIhEET_RKS1_S3_:
  457|   452k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   452k|    T r = {};
  460|   452k|    constexpr T zero = {};
  461|   452k|    r = x + ((zero - x) & (alignment - 1));
  462|   452k|    return r;
  463|   452k|}
_ZN3upx12align_up_gapIhEET_RKS1_S3_:
  465|   452k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   452k|    T r = {};
  468|   452k|    constexpr T zero = {};
  469|   452k|    r = (zero - x) & (alignment - 1);
  470|   452k|    return r;
  471|   452k|}
_ZN3upx3minIsEET_RKS1_S3_:
  474|   113k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   113k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 113k]
  ------------------
  476|   113k|}
_ZN3upx3maxIsEET_RKS1_S3_:
  478|   113k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   113k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 113k, False: 0]
  ------------------
  480|   113k|}
_ZN3upx10align_downIsEET_RKS1_S3_:
  443|   452k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   452k|    T r = {};
  446|   452k|    r = x - (x & (alignment - 1));
  447|   452k|    return r;
  448|   452k|}
_ZN3upx8align_upIsEET_RKS1_S3_:
  457|   452k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   452k|    T r = {};
  460|   452k|    constexpr T zero = {};
  461|   452k|    r = x + ((zero - x) & (alignment - 1));
  462|   452k|    return r;
  463|   452k|}
_ZN3upx12align_up_gapIsEET_RKS1_S3_:
  465|   452k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   452k|    T r = {};
  468|   452k|    constexpr T zero = {};
  469|   452k|    r = (zero - x) & (alignment - 1);
  470|   452k|    return r;
  471|   452k|}
_ZN3upx3minItEET_RKS1_S3_:
  474|   113k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   113k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 113k]
  ------------------
  476|   113k|}
_ZN3upx3maxItEET_RKS1_S3_:
  478|   113k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   113k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 113k, False: 0]
  ------------------
  480|   113k|}
_ZN3upx10align_downItEET_RKS1_S3_:
  443|   452k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   452k|    T r = {};
  446|   452k|    r = x - (x & (alignment - 1));
  447|   452k|    return r;
  448|   452k|}
_ZN3upx8align_upItEET_RKS1_S3_:
  457|   452k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   452k|    T r = {};
  460|   452k|    constexpr T zero = {};
  461|   452k|    r = x + ((zero - x) & (alignment - 1));
  462|   452k|    return r;
  463|   452k|}
_ZN3upx12align_up_gapItEET_RKS1_S3_:
  465|   452k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   452k|    T r = {};
  468|   452k|    constexpr T zero = {};
  469|   452k|    r = (zero - x) & (alignment - 1);
  470|   452k|    return r;
  471|   452k|}
_ZN3upx3minIiEET_RKS1_S3_:
  474|   113k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   113k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 113k]
  ------------------
  476|   113k|}
_ZN3upx3maxIiEET_RKS1_S3_:
  478|   113k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   113k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 113k, False: 0]
  ------------------
  480|   113k|}
_ZN3upx10align_downIiEET_RKS1_S3_:
  443|   452k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   452k|    T r = {};
  446|   452k|    r = x - (x & (alignment - 1));
  447|   452k|    return r;
  448|   452k|}
_ZN3upx8align_upIiEET_RKS1_S3_:
  457|   452k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   452k|    T r = {};
  460|   452k|    constexpr T zero = {};
  461|   452k|    r = x + ((zero - x) & (alignment - 1));
  462|   452k|    return r;
  463|   452k|}
_ZN3upx12align_up_gapIiEET_RKS1_S3_:
  465|   452k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   452k|    T r = {};
  468|   452k|    constexpr T zero = {};
  469|   452k|    r = (zero - x) & (alignment - 1);
  470|   452k|    return r;
  471|   452k|}
_ZN3upx3minIjEET_RKS1_S3_:
  474|  1.92M|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|  1.92M|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 679k, False: 1.24M]
  ------------------
  476|  1.92M|}
_ZN3upx3maxIjEET_RKS1_S3_:
  478|  1.92M|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|  1.92M|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 793k, False: 1.13M]
  ------------------
  480|  1.92M|}
_ZN3upx10align_downIjEET_RKS1_S3_:
  443|   452k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   452k|    T r = {};
  446|   452k|    r = x - (x & (alignment - 1));
  447|   452k|    return r;
  448|   452k|}
_ZN3upx8align_upIjEET_RKS1_S3_:
  457|   453k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   453k|    T r = {};
  460|   453k|    constexpr T zero = {};
  461|   453k|    r = x + ((zero - x) & (alignment - 1));
  462|   453k|    return r;
  463|   453k|}
_ZN3upx12align_up_gapIjEET_RKS1_S3_:
  465|   452k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   452k|    T r = {};
  468|   452k|    constexpr T zero = {};
  469|   452k|    r = (zero - x) & (alignment - 1);
  470|   452k|    return r;
  471|   452k|}
_ZN3upx3minIlEET_RKS1_S3_:
  474|   282k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   282k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 282k]
  ------------------
  476|   282k|}
_ZN3upx3maxIlEET_RKS1_S3_:
  478|   282k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   282k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 282k, False: 0]
  ------------------
  480|   282k|}
_ZN3upx10align_downIlEET_RKS1_S3_:
  443|  1.13M|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|  1.13M|    T r = {};
  446|  1.13M|    r = x - (x & (alignment - 1));
  447|  1.13M|    return r;
  448|  1.13M|}
_ZN3upx8align_upIlEET_RKS1_S3_:
  457|  1.13M|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|  1.13M|    T r = {};
  460|  1.13M|    constexpr T zero = {};
  461|  1.13M|    r = x + ((zero - x) & (alignment - 1));
  462|  1.13M|    return r;
  463|  1.13M|}
_ZN3upx12align_up_gapIlEET_RKS1_S3_:
  465|  1.13M|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|  1.13M|    T r = {};
  468|  1.13M|    constexpr T zero = {};
  469|  1.13M|    r = (zero - x) & (alignment - 1);
  470|  1.13M|    return r;
  471|  1.13M|}
_ZN3upx3minImEET_RKS1_S3_:
  474|   396k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   396k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 396k]
  ------------------
  476|   396k|}
_ZN3upx3maxImEET_RKS1_S3_:
  478|   396k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   396k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 396k, False: 0]
  ------------------
  480|   396k|}
_ZN3upx10align_downImEET_RKS1_S3_:
  443|  1.61M|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|  1.61M|    T r = {};
  446|  1.61M|    r = x - (x & (alignment - 1));
  447|  1.61M|    return r;
  448|  1.61M|}
_ZN3upx8align_upImEET_RKS1_S3_:
  457|  1.61M|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|  1.61M|    T r = {};
  460|  1.61M|    constexpr T zero = {};
  461|  1.61M|    r = x + ((zero - x) & (alignment - 1));
  462|  1.61M|    return r;
  463|  1.61M|}
_ZN3upx12align_up_gapImEET_RKS1_S3_:
  465|  1.61M|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|  1.61M|    T r = {};
  468|  1.61M|    constexpr T zero = {};
  469|  1.61M|    r = (zero - x) & (alignment - 1);
  470|  1.61M|    return r;
  471|  1.61M|}
_ZN3upx3minIxEET_RKS1_S3_:
  474|   169k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   169k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 169k]
  ------------------
  476|   169k|}
_ZN3upx3maxIxEET_RKS1_S3_:
  478|   169k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   169k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 169k, False: 0]
  ------------------
  480|   169k|}
_ZN3upx10align_downIxEET_RKS1_S3_:
  443|   679k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   679k|    T r = {};
  446|   679k|    r = x - (x & (alignment - 1));
  447|   679k|    return r;
  448|   679k|}
_ZN3upx8align_upIxEET_RKS1_S3_:
  457|   679k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   679k|    T r = {};
  460|   679k|    constexpr T zero = {};
  461|   679k|    r = x + ((zero - x) & (alignment - 1));
  462|   679k|    return r;
  463|   679k|}
_ZN3upx12align_up_gapIxEET_RKS1_S3_:
  465|   679k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   679k|    T r = {};
  468|   679k|    constexpr T zero = {};
  469|   679k|    r = (zero - x) & (alignment - 1);
  470|   679k|    return r;
  471|   679k|}
_ZN3upx3minIyEET_RKS1_S3_:
  474|  1.01M|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|  1.01M|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 339k, False: 679k]
  ------------------
  476|  1.01M|}
_ZN3upx3maxIyEET_RKS1_S3_:
  478|  1.01M|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|  1.01M|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 452k, False: 565k]
  ------------------
  480|  1.01M|}
_ZN3upx10align_downIyEET_RKS1_S3_:
  443|   452k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   452k|    T r = {};
  446|   452k|    r = x - (x & (alignment - 1));
  447|   452k|    return r;
  448|   452k|}
_ZN3upx8align_upIyEET_RKS1_S3_:
  457|   452k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   452k|    T r = {};
  460|   452k|    constexpr T zero = {};
  461|   452k|    r = x + ((zero - x) & (alignment - 1));
  462|   452k|    return r;
  463|   452k|}
_ZN3upx12align_up_gapIyEET_RKS1_S3_:
  465|   452k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   452k|    T r = {};
  468|   452k|    constexpr T zero = {};
  469|   452k|    r = (zero - x) & (alignment - 1);
  470|   452k|    return r;
  471|   452k|}
_ZN3upx3minInEET_RKS1_S3_:
  474|  56.5k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|  56.5k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 56.5k]
  ------------------
  476|  56.5k|}
_ZN3upx3maxInEET_RKS1_S3_:
  478|  56.5k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|  56.5k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 56.5k, False: 0]
  ------------------
  480|  56.5k|}
_ZN3upx10align_downInEET_RKS1_S3_:
  443|   226k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   226k|    T r = {};
  446|   226k|    r = x - (x & (alignment - 1));
  447|   226k|    return r;
  448|   226k|}
_ZN3upx8align_upInEET_RKS1_S3_:
  457|   226k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   226k|    T r = {};
  460|   226k|    constexpr T zero = {};
  461|   226k|    r = x + ((zero - x) & (alignment - 1));
  462|   226k|    return r;
  463|   226k|}
_ZN3upx12align_up_gapInEET_RKS1_S3_:
  465|   226k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   226k|    T r = {};
  468|   226k|    constexpr T zero = {};
  469|   226k|    r = (zero - x) & (alignment - 1);
  470|   226k|    return r;
  471|   226k|}
_ZN3upx3minIoEET_RKS1_S3_:
  474|  56.5k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|  56.5k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 0, False: 56.5k]
  ------------------
  476|  56.5k|}
_ZN3upx3maxIoEET_RKS1_S3_:
  478|  56.5k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|  56.5k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 56.5k, False: 0]
  ------------------
  480|  56.5k|}
_ZN3upx10align_downIoEET_RKS1_S3_:
  443|   226k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   226k|    T r = {};
  446|   226k|    r = x - (x & (alignment - 1));
  447|   226k|    return r;
  448|   226k|}
_ZN3upx8align_upIoEET_RKS1_S3_:
  457|   226k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   226k|    T r = {};
  460|   226k|    constexpr T zero = {};
  461|   226k|    r = x + ((zero - x) & (alignment - 1));
  462|   226k|    return r;
  463|   226k|}
_ZN3upx12align_up_gapIoEET_RKS1_S3_:
  465|   226k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   226k|    T r = {};
  468|   226k|    constexpr T zero = {};
  469|   226k|    r = (zero - x) & (alignment - 1);
  470|   226k|    return r;
  471|   226k|}
_ZN3upx10align_downI4LE16EET_RKS2_S4_:
  443|   226k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   226k|    T r = {};
  446|   226k|    r = x - (x & (alignment - 1));
  447|   226k|    return r;
  448|   226k|}
_ZN3upx8align_upI4LE16EET_RKS2_S4_:
  457|   226k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   226k|    T r = {};
  460|   226k|    constexpr T zero = {};
  461|   226k|    r = x + ((zero - x) & (alignment - 1));
  462|   226k|    return r;
  463|   226k|}
_ZN3upx12align_up_gapI4LE16EET_RKS2_S4_:
  465|   226k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   226k|    T r = {};
  468|   226k|    constexpr T zero = {};
  469|   226k|    r = (zero - x) & (alignment - 1);
  470|   226k|    return r;
  471|   226k|}
_ZN3upx14has_single_bitI4LE16EEbRKT_:
  434|   113k|forceinline constexpr bool has_single_bit(const T &x) noexcept {
  435|   113k|    return !(x == 0) && (x & (x - 1)) == 0;
  ------------------
  |  Branch (435:12): [True: 56.5k, False: 56.5k]
  |  Branch (435:25): [True: 28.2k, False: 28.2k]
  ------------------
  436|   113k|}
_ZN3upx3minI4LE16EET_RKS2_S4_:
  474|   282k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   282k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 56.5k, False: 226k]
  ------------------
  476|   282k|}
_ZN3upx3maxI4LE16EET_RKS2_S4_:
  478|   282k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   282k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 113k, False: 169k]
  ------------------
  480|   282k|}
_ZN3upx10align_downI4LE32EET_RKS2_S4_:
  443|   226k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   226k|    T r = {};
  446|   226k|    r = x - (x & (alignment - 1));
  447|   226k|    return r;
  448|   226k|}
_ZN3upx8align_upI4LE32EET_RKS2_S4_:
  457|   226k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   226k|    T r = {};
  460|   226k|    constexpr T zero = {};
  461|   226k|    r = x + ((zero - x) & (alignment - 1));
  462|   226k|    return r;
  463|   226k|}
_ZN3upx12align_up_gapI4LE32EET_RKS2_S4_:
  465|   226k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   226k|    T r = {};
  468|   226k|    constexpr T zero = {};
  469|   226k|    r = (zero - x) & (alignment - 1);
  470|   226k|    return r;
  471|   226k|}
_ZN3upx14has_single_bitI4LE32EEbRKT_:
  434|   113k|forceinline constexpr bool has_single_bit(const T &x) noexcept {
  435|   113k|    return !(x == 0) && (x & (x - 1)) == 0;
  ------------------
  |  Branch (435:12): [True: 56.5k, False: 56.5k]
  |  Branch (435:25): [True: 28.2k, False: 28.2k]
  ------------------
  436|   113k|}
_ZN3upx3minI4LE32EET_RKS2_S4_:
  474|   282k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   282k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 56.5k, False: 226k]
  ------------------
  476|   282k|}
_ZN3upx3maxI4LE32EET_RKS2_S4_:
  478|   282k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   282k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 113k, False: 169k]
  ------------------
  480|   282k|}
_ZN3upx10align_downI4LE64EET_RKS2_S4_:
  443|   226k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   226k|    T r = {};
  446|   226k|    r = x - (x & (alignment - 1));
  447|   226k|    return r;
  448|   226k|}
_ZN3upx8align_upI4LE64EET_RKS2_S4_:
  457|   226k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   226k|    T r = {};
  460|   226k|    constexpr T zero = {};
  461|   226k|    r = x + ((zero - x) & (alignment - 1));
  462|   226k|    return r;
  463|   226k|}
_ZN3upx12align_up_gapI4LE64EET_RKS2_S4_:
  465|   226k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   226k|    T r = {};
  468|   226k|    constexpr T zero = {};
  469|   226k|    r = (zero - x) & (alignment - 1);
  470|   226k|    return r;
  471|   226k|}
_ZN3upx14has_single_bitI4LE64EEbRKT_:
  434|   113k|forceinline constexpr bool has_single_bit(const T &x) noexcept {
  435|   113k|    return !(x == 0) && (x & (x - 1)) == 0;
  ------------------
  |  Branch (435:12): [True: 56.5k, False: 56.5k]
  |  Branch (435:25): [True: 28.2k, False: 28.2k]
  ------------------
  436|   113k|}
_ZN3upx3minI4LE64EET_RKS2_S4_:
  474|   282k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   282k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 56.5k, False: 226k]
  ------------------
  476|   282k|}
_ZN3upx3maxI4LE64EET_RKS2_S4_:
  478|   282k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   282k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 113k, False: 169k]
  ------------------
  480|   282k|}
_ZN3upx10align_downI4BE16EET_RKS2_S4_:
  443|   226k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   226k|    T r = {};
  446|   226k|    r = x - (x & (alignment - 1));
  447|   226k|    return r;
  448|   226k|}
_ZN3upx8align_upI4BE16EET_RKS2_S4_:
  457|   226k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   226k|    T r = {};
  460|   226k|    constexpr T zero = {};
  461|   226k|    r = x + ((zero - x) & (alignment - 1));
  462|   226k|    return r;
  463|   226k|}
_ZN3upx12align_up_gapI4BE16EET_RKS2_S4_:
  465|   226k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   226k|    T r = {};
  468|   226k|    constexpr T zero = {};
  469|   226k|    r = (zero - x) & (alignment - 1);
  470|   226k|    return r;
  471|   226k|}
_ZN3upx14has_single_bitI4BE16EEbRKT_:
  434|   113k|forceinline constexpr bool has_single_bit(const T &x) noexcept {
  435|   113k|    return !(x == 0) && (x & (x - 1)) == 0;
  ------------------
  |  Branch (435:12): [True: 56.5k, False: 56.5k]
  |  Branch (435:25): [True: 28.2k, False: 28.2k]
  ------------------
  436|   113k|}
_ZN3upx3minI4BE16EET_RKS2_S4_:
  474|   282k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   282k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 56.5k, False: 226k]
  ------------------
  476|   282k|}
_ZN3upx3maxI4BE16EET_RKS2_S4_:
  478|   282k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   282k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 113k, False: 169k]
  ------------------
  480|   282k|}
_ZN3upx10align_downI4BE32EET_RKS2_S4_:
  443|   226k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   226k|    T r = {};
  446|   226k|    r = x - (x & (alignment - 1));
  447|   226k|    return r;
  448|   226k|}
_ZN3upx8align_upI4BE32EET_RKS2_S4_:
  457|   226k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   226k|    T r = {};
  460|   226k|    constexpr T zero = {};
  461|   226k|    r = x + ((zero - x) & (alignment - 1));
  462|   226k|    return r;
  463|   226k|}
_ZN3upx12align_up_gapI4BE32EET_RKS2_S4_:
  465|   226k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   226k|    T r = {};
  468|   226k|    constexpr T zero = {};
  469|   226k|    r = (zero - x) & (alignment - 1);
  470|   226k|    return r;
  471|   226k|}
_ZN3upx14has_single_bitI4BE32EEbRKT_:
  434|   113k|forceinline constexpr bool has_single_bit(const T &x) noexcept {
  435|   113k|    return !(x == 0) && (x & (x - 1)) == 0;
  ------------------
  |  Branch (435:12): [True: 56.5k, False: 56.5k]
  |  Branch (435:25): [True: 28.2k, False: 28.2k]
  ------------------
  436|   113k|}
_ZN3upx3minI4BE32EET_RKS2_S4_:
  474|   282k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   282k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 56.5k, False: 226k]
  ------------------
  476|   282k|}
_ZN3upx3maxI4BE32EET_RKS2_S4_:
  478|   282k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   282k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 113k, False: 169k]
  ------------------
  480|   282k|}
_ZN3upx10align_downI4BE64EET_RKS2_S4_:
  443|   226k|inline constexpr T align_down(const T &x, const T &alignment) noexcept {
  444|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  445|   226k|    T r = {};
  446|   226k|    r = x - (x & (alignment - 1));
  447|   226k|    return r;
  448|   226k|}
_ZN3upx8align_upI4BE64EET_RKS2_S4_:
  457|   226k|inline constexpr T align_up(const T &x, const T &alignment) noexcept {
  458|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  459|   226k|    T r = {};
  460|   226k|    constexpr T zero = {};
  461|   226k|    r = x + ((zero - x) & (alignment - 1));
  462|   226k|    return r;
  463|   226k|}
_ZN3upx12align_up_gapI4BE64EET_RKS2_S4_:
  465|   226k|inline constexpr T align_up_gap(const T &x, const T &alignment) noexcept {
  466|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  467|   226k|    T r = {};
  468|   226k|    constexpr T zero = {};
  469|   226k|    r = (zero - x) & (alignment - 1);
  470|   226k|    return r;
  471|   226k|}
_ZN3upx14has_single_bitI4BE64EEbRKT_:
  434|   113k|forceinline constexpr bool has_single_bit(const T &x) noexcept {
  435|   113k|    return !(x == 0) && (x & (x - 1)) == 0;
  ------------------
  |  Branch (435:12): [True: 56.5k, False: 56.5k]
  |  Branch (435:25): [True: 28.2k, False: 28.2k]
  ------------------
  436|   113k|}
_ZN3upx3minI4BE64EET_RKS2_S4_:
  474|   282k|forceinline constexpr T min(const T &a, const T &b) noexcept {
  475|   282k|    return b < a ? b : a;
  ------------------
  |  Branch (475:12): [True: 56.5k, False: 226k]
  ------------------
  476|   282k|}
_ZN3upx3maxI4BE64EET_RKS2_S4_:
  478|   282k|forceinline constexpr T max(const T &a, const T &b) noexcept {
  479|   282k|    return a < b ? b : a;
  ------------------
  |  Branch (479:12): [True: 113k, False: 169k]
  ------------------
  480|   282k|}
_ZN3upx15ptr_static_castIP4LE32iEET_PT0_:
  519|   254k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|   254k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|   254k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|   254k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|   254k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|   254k|}
_ZN3upx15ptr_static_castIPK4LE32iEET_PT0_:
  519|   127k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|   127k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|   127k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|   127k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|   127k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|   127k|}
_ZN3upx15ptr_static_castIPK4LE32hEET_PKT0_:
  528|   127k|forceinline constexpr Result ptr_static_cast(const From *ptr) noexcept {
  529|   127k|    static_assert(std::is_pointer_v<Result>);
  530|   127k|    static_assert(std::is_const_v<std::remove_pointer_t<Result> >); // required
  531|       |    // don't cast through "const void *" if type is convertible
  532|   127k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, const void *>
  533|   127k|        VoidPtr;
  534|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  535|   127k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  536|   127k|}
_ZN3upx15ptr_static_castIPvvEET_PT0_:
  519|  14.1k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.1k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  14.1k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  14.1k|}
_ZN3upx15ptr_static_castIPvhEET_PT0_:
  519|  14.1k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.1k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  14.1k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  14.1k|}
_ZN3upx15ptr_static_castIPviEET_PT0_:
  519|  14.1k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.1k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  14.1k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  14.1k|}
_ZN3upx15ptr_static_castIPvdEET_PT0_:
  519|  14.1k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.1k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  14.1k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  14.1k|}
_ZN3upx15ptr_static_castIPhhEET_PT0_:
  519|   749k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|   749k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|   749k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|   749k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|   749k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|   749k|}
_ZN3upx15ptr_static_castIPhiEET_PT0_:
  519|  28.2k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  28.2k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  28.2k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  28.2k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  28.2k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  28.2k|}
_ZN3upx15ptr_static_castIPhdEET_PT0_:
  519|  14.1k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.1k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  14.1k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  14.1k|}
_ZN3upx15ptr_static_castIPivEET_PT0_:
  519|  14.1k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.1k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  14.1k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  14.1k|}
_ZN3upx15ptr_static_castIPihEET_PT0_:
  519|  28.2k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  28.2k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  28.2k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  28.2k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  28.2k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  28.2k|}
_ZN3upx15ptr_static_castIPiiEET_PT0_:
  519|  28.2k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  28.2k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  28.2k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  28.2k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  28.2k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  28.2k|}
_ZN3upx15ptr_static_castIPidEET_PT0_:
  519|  14.1k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.1k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  14.1k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  14.1k|}
_ZN3upx15ptr_static_castIPdvEET_PT0_:
  519|  14.1k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.1k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  14.1k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  14.1k|}
_ZN3upx15ptr_static_castIPdhEET_PT0_:
  519|  14.1k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.1k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  14.1k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  14.1k|}
_ZN3upx15ptr_static_castIPdiEET_PT0_:
  519|  14.1k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.1k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  14.1k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  14.1k|}
_ZN3upx15ptr_static_castIPddEET_PT0_:
  519|  14.1k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  14.1k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  14.1k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  14.1k|}
_ZN3upx15ptr_static_castIPKhhEET_PKT0_:
  528|  14.1k|forceinline constexpr Result ptr_static_cast(const From *ptr) noexcept {
  529|  14.1k|    static_assert(std::is_pointer_v<Result>);
  530|  14.1k|    static_assert(std::is_const_v<std::remove_pointer_t<Result> >); // required
  531|       |    // don't cast through "const void *" if type is convertible
  532|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, const void *>
  533|  14.1k|        VoidPtr;
  534|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  535|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  536|  14.1k|}
_ZN3upx15ptr_static_castIPKhiEET_PKT0_:
  528|  14.1k|forceinline constexpr Result ptr_static_cast(const From *ptr) noexcept {
  529|  14.1k|    static_assert(std::is_pointer_v<Result>);
  530|  14.1k|    static_assert(std::is_const_v<std::remove_pointer_t<Result> >); // required
  531|       |    // don't cast through "const void *" if type is convertible
  532|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, const void *>
  533|  14.1k|        VoidPtr;
  534|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  535|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  536|  14.1k|}
_ZN3upx15ptr_static_castIPKihEET_PKT0_:
  528|  14.1k|forceinline constexpr Result ptr_static_cast(const From *ptr) noexcept {
  529|  14.1k|    static_assert(std::is_pointer_v<Result>);
  530|  14.1k|    static_assert(std::is_const_v<std::remove_pointer_t<Result> >); // required
  531|       |    // don't cast through "const void *" if type is convertible
  532|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, const void *>
  533|  14.1k|        VoidPtr;
  534|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  535|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  536|  14.1k|}
_ZN3upx15ptr_static_castIPKiiEET_PKT0_:
  528|  14.1k|forceinline constexpr Result ptr_static_cast(const From *ptr) noexcept {
  529|  14.1k|    static_assert(std::is_pointer_v<Result>);
  530|  14.1k|    static_assert(std::is_const_v<std::remove_pointer_t<Result> >); // required
  531|       |    // don't cast through "const void *" if type is convertible
  532|  14.1k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, const void *>
  533|  14.1k|        VoidPtr;
  534|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  535|  14.1k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  536|  14.1k|}
_ZN3upx15atomic_exchangeImEET_PS1_S1_:
  552|  14.1k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  553|  14.1k|#if 1
  554|  14.1k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  555|  14.1k|#endif
  556|  14.1k|    static_assert(std::is_standard_layout_v<T>);
  557|  14.1k|    static_assert(std::is_trivially_copyable_v<T>);
  558|  14.1k|#if !(WITH_THREADS)
  559|  14.1k|    T old_value = *ptr;
  560|  14.1k|    *ptr = new_value;
  561|  14.1k|    return old_value;
  562|       |#else
  563|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  564|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  565|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  566|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  567|       |#elif __has_builtin(__sync_swap)
  568|       |    return __sync_swap(ptr, new_value);
  569|       |#else
  570|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  571|       |#endif
  572|       |#endif
  573|  14.1k|}
_ZN3upx15atomic_exchangeIPKiEET_PS3_S3_:
  552|  28.2k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  553|  28.2k|#if 1
  554|  28.2k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  555|  28.2k|#endif
  556|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  557|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  558|  28.2k|#if !(WITH_THREADS)
  559|  28.2k|    T old_value = *ptr;
  560|  28.2k|    *ptr = new_value;
  561|  28.2k|    return old_value;
  562|       |#else
  563|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  564|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  565|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  566|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  567|       |#elif __has_builtin(__sync_swap)
  568|       |    return __sync_swap(ptr, new_value);
  569|       |#else
  570|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  571|       |#endif
  572|       |#endif
  573|  28.2k|}
_ZN3upx13ObjectDeleterI4LE16EC2EPPS1_m:
  581|  28.2k|    explicit ObjectDeleter(T **p, std::size_t n) noexcept : items(p), count(n) {}
_ZN3upx12ArrayDeleterI4LE32EC2EPPS1_m:
  595|  28.2k|    explicit ArrayDeleter(T **p, std::size_t n) noexcept : items(p), count(n) {}
_ZN3upx13MallocDeleterI4LE64EC2EPPS1_m:
  608|  28.2k|    explicit MallocDeleter(T **p, std::size_t n) noexcept : items(p), count(n) {}
_ZN3upx13MallocDeleterI4LE64ED2Ev:
  609|  28.2k|    ~MallocDeleter() noexcept { delete_items(); }
_ZN3upx13MallocDeleterI4LE64E12delete_itemsEv:
  610|  28.2k|    void delete_items() noexcept {
  611|  56.5k|        for (std::size_t i = 0; i < count; i++) {
  ------------------
  |  Branch (611:33): [True: 28.2k, False: 28.2k]
  ------------------
  612|  28.2k|            T *item = atomic_exchange(&items[i], (T *) nullptr);
  613|       |            // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  614|  28.2k|            ::free(item); // free memory from malloc()
  615|  28.2k|        }
  616|  28.2k|    }
_ZN3upx15atomic_exchangeIP4LE64EET_PS3_S3_:
  552|  28.2k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  553|  28.2k|#if 1
  554|  28.2k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  555|  28.2k|#endif
  556|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  557|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  558|  28.2k|#if !(WITH_THREADS)
  559|  28.2k|    T old_value = *ptr;
  560|  28.2k|    *ptr = new_value;
  561|  28.2k|    return old_value;
  562|       |#else
  563|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  564|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  565|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  566|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  567|       |#elif __has_builtin(__sync_swap)
  568|       |    return __sync_swap(ptr, new_value);
  569|       |#else
  570|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  571|       |#endif
  572|       |#endif
  573|  28.2k|}
_ZN3upx12ArrayDeleterI4LE32ED2Ev:
  596|  28.2k|    ~ArrayDeleter() noexcept { delete_items(); }
_ZN3upx12ArrayDeleterI4LE32E12delete_itemsEv:
  597|  28.2k|    void delete_items() noexcept {
  598|  56.5k|        for (std::size_t i = 0; i < count; i++) {
  ------------------
  |  Branch (598:33): [True: 28.2k, False: 28.2k]
  ------------------
  599|  28.2k|            T *item = atomic_exchange(&items[i], (T *) nullptr);
  600|  28.2k|            delete[] item; // array delete
  601|  28.2k|        }
  602|  28.2k|    }
_ZN3upx15atomic_exchangeIP4LE32EET_PS3_S3_:
  552|  28.2k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  553|  28.2k|#if 1
  554|  28.2k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  555|  28.2k|#endif
  556|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  557|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  558|  28.2k|#if !(WITH_THREADS)
  559|  28.2k|    T old_value = *ptr;
  560|  28.2k|    *ptr = new_value;
  561|  28.2k|    return old_value;
  562|       |#else
  563|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  564|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  565|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  566|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  567|       |#elif __has_builtin(__sync_swap)
  568|       |    return __sync_swap(ptr, new_value);
  569|       |#else
  570|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  571|       |#endif
  572|       |#endif
  573|  28.2k|}
_ZN3upx13ObjectDeleterI4LE16ED2Ev:
  582|  28.2k|    ~ObjectDeleter() noexcept { delete_items(); }
_ZN3upx13ObjectDeleterI4LE16E12delete_itemsEv:
  583|  28.2k|    void delete_items() noexcept {
  584|  56.5k|        for (std::size_t i = 0; i < count; i++) {
  ------------------
  |  Branch (584:33): [True: 28.2k, False: 28.2k]
  ------------------
  585|  28.2k|            T *item = atomic_exchange(&items[i], (T *) nullptr);
  586|  28.2k|            delete item; // single object delete
  587|  28.2k|        }
  588|  28.2k|    }
_ZN3upx15atomic_exchangeIP4LE16EET_PS3_S3_:
  552|  28.2k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  553|  28.2k|#if 1
  554|  28.2k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  555|  28.2k|#endif
  556|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  557|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  558|  28.2k|#if !(WITH_THREADS)
  559|  28.2k|    T old_value = *ptr;
  560|  28.2k|    *ptr = new_value;
  561|  28.2k|    return old_value;
  562|       |#else
  563|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  564|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  565|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  566|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  567|       |#elif __has_builtin(__sync_swap)
  568|       |    return __sync_swap(ptr, new_value);
  569|       |#else
  570|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  571|       |#endif
  572|       |#endif
  573|  28.2k|}
_ZN3upx13ObjectDeleterI4BE16EC2EPPS1_m:
  581|  14.1k|    explicit ObjectDeleter(T **p, std::size_t n) noexcept : items(p), count(n) {}
_ZN3upx12ArrayDeleterI4BE32EC2EPPS1_m:
  595|  14.1k|    explicit ArrayDeleter(T **p, std::size_t n) noexcept : items(p), count(n) {}
_ZN3upx13MallocDeleterI4BE64EC2EPPS1_m:
  608|  14.1k|    explicit MallocDeleter(T **p, std::size_t n) noexcept : items(p), count(n) {}
_ZN3upx13MallocDeleterI4BE64ED2Ev:
  609|  14.1k|    ~MallocDeleter() noexcept { delete_items(); }
_ZN3upx13MallocDeleterI4BE64E12delete_itemsEv:
  610|  14.1k|    void delete_items() noexcept {
  611|  42.4k|        for (std::size_t i = 0; i < count; i++) {
  ------------------
  |  Branch (611:33): [True: 28.2k, False: 14.1k]
  ------------------
  612|  28.2k|            T *item = atomic_exchange(&items[i], (T *) nullptr);
  613|       |            // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  614|  28.2k|            ::free(item); // free memory from malloc()
  615|  28.2k|        }
  616|  14.1k|    }
_ZN3upx15atomic_exchangeIP4BE64EET_PS3_S3_:
  552|  28.2k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  553|  28.2k|#if 1
  554|  28.2k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  555|  28.2k|#endif
  556|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  557|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  558|  28.2k|#if !(WITH_THREADS)
  559|  28.2k|    T old_value = *ptr;
  560|  28.2k|    *ptr = new_value;
  561|  28.2k|    return old_value;
  562|       |#else
  563|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  564|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  565|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  566|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  567|       |#elif __has_builtin(__sync_swap)
  568|       |    return __sync_swap(ptr, new_value);
  569|       |#else
  570|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  571|       |#endif
  572|       |#endif
  573|  28.2k|}
_ZN3upx12ArrayDeleterI4BE32ED2Ev:
  596|  14.1k|    ~ArrayDeleter() noexcept { delete_items(); }
_ZN3upx12ArrayDeleterI4BE32E12delete_itemsEv:
  597|  14.1k|    void delete_items() noexcept {
  598|  42.4k|        for (std::size_t i = 0; i < count; i++) {
  ------------------
  |  Branch (598:33): [True: 28.2k, False: 14.1k]
  ------------------
  599|  28.2k|            T *item = atomic_exchange(&items[i], (T *) nullptr);
  600|  28.2k|            delete[] item; // array delete
  601|  28.2k|        }
  602|  14.1k|    }
_ZN3upx15atomic_exchangeIP4BE32EET_PS3_S3_:
  552|  28.2k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  553|  28.2k|#if 1
  554|  28.2k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  555|  28.2k|#endif
  556|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  557|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  558|  28.2k|#if !(WITH_THREADS)
  559|  28.2k|    T old_value = *ptr;
  560|  28.2k|    *ptr = new_value;
  561|  28.2k|    return old_value;
  562|       |#else
  563|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  564|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  565|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  566|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  567|       |#elif __has_builtin(__sync_swap)
  568|       |    return __sync_swap(ptr, new_value);
  569|       |#else
  570|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  571|       |#endif
  572|       |#endif
  573|  28.2k|}
_ZN3upx13ObjectDeleterI4BE16ED2Ev:
  582|  14.1k|    ~ObjectDeleter() noexcept { delete_items(); }
_ZN3upx13ObjectDeleterI4BE16E12delete_itemsEv:
  583|  14.1k|    void delete_items() noexcept {
  584|  42.4k|        for (std::size_t i = 0; i < count; i++) {
  ------------------
  |  Branch (584:33): [True: 28.2k, False: 14.1k]
  ------------------
  585|  28.2k|            T *item = atomic_exchange(&items[i], (T *) nullptr);
  586|  28.2k|            delete item; // single object delete
  587|  28.2k|        }
  588|  14.1k|    }
_ZN3upx15atomic_exchangeIP4BE16EET_PS3_S3_:
  552|  28.2k|forceinline T atomic_exchange(T *ptr, T new_value) noexcept {
  553|  28.2k|#if 1
  554|  28.2k|    static_assert(sizeof(T) == sizeof(void *)); // UPX convention: restrict to pointer-size for now
  555|  28.2k|#endif
  556|  28.2k|    static_assert(std::is_standard_layout_v<T>);
  557|  28.2k|    static_assert(std::is_trivially_copyable_v<T>);
  558|  28.2k|#if !(WITH_THREADS)
  559|  28.2k|    T old_value = *ptr;
  560|  28.2k|    *ptr = new_value;
  561|  28.2k|    return old_value;
  562|       |#else
  563|       |    static_assert(sizeof(T) <= sizeof(void *)); // UPX convention: restrict to fundamental types
  564|       |    static_assert(alignof(T) == sizeof(T));     // UPX convention: require proper alignment
  565|       |#if __has_builtin(__atomic_exchange_n) && defined(__ATOMIC_SEQ_CST)
  566|       |    return __atomic_exchange_n(ptr, new_value, __ATOMIC_SEQ_CST);
  567|       |#elif __has_builtin(__sync_swap)
  568|       |    return __sync_swap(ptr, new_value);
  569|       |#else
  570|       |    return std::atomic_exchange(ptr_std_atomic_cast(ptr), new_value);
  571|       |#endif
  572|       |#endif
  573|  28.2k|}
_ZN3upx14align_down_gapImEET_RKS1_S3_:
  450|  28.2k|inline constexpr T align_down_gap(const T &x, const T &alignment) noexcept {
  451|       |    // assert_noexcept(has_single_bit(alignment)); // (not constexpr)
  452|  28.2k|    T r = {};
  453|  28.2k|    r = x & (alignment - 1);
  454|  28.2k|    return r;
  455|  28.2k|}
_ZN3upx7TriBoolIiLb0EEC2Ev:
  637|  28.2k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIiLb0EE8getValueEv:
  656|   141k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIiLb0EEcvbEv:
  647|  1.33M|    explicit constexpr operator bool() const noexcept {
  648|  1.33M|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [Folded, False: 1.33M]
  ------------------
  649|  1.33M|    }
_ZNK3upx7TriBoolIiLb0EE13isStrictFalseEv:
  651|   169k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIiLb0EE12isStrictTrueEv:
  652|   141k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIiLb0EE12isStrictBoolEv:
  653|   141k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 56.5k, False: 84.8k]
  |  Branch (653:77): [True: 28.2k, False: 56.5k]
  ------------------
_ZNK3upx7TriBoolIiLb0EE7isThirdEv:
  654|   914k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 85.0k, False: 829k]
  |  Branch (654:72): [True: 56.7k, False: 28.2k]
  ------------------
_ZN3upx7TriBoolIiLb0EEC2Ei:
  640|   968k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 895k, False: 73.7k]
  |  Branch (640:75): [True: 45.3k, False: 28.3k]
  ------------------
_ZN3upx7TriBoolIiLb0EEC2ENS1_10value_typeE:
  638|  28.2k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIaLb0EEC2Ev:
  637|  14.1k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIaLb0EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIaLb0EEcvbEv:
  647|   226k|    explicit constexpr operator bool() const noexcept {
  648|   226k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [Folded, False: 226k]
  ------------------
  649|   226k|    }
_ZNK3upx7TriBoolIaLb0EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIaLb0EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIaLb0EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolIaLb0EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIaLb0EEC2Ei:
  640|  42.4k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 14.1k, False: 28.2k]
  |  Branch (640:75): [True: 14.1k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIaLb0EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIhLb0EEC2Ev:
  637|  14.1k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIhLb0EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIhLb0EEcvbEv:
  647|   226k|    explicit constexpr operator bool() const noexcept {
  648|   226k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [Folded, False: 226k]
  ------------------
  649|   226k|    }
_ZNK3upx7TriBoolIhLb0EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIhLb0EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIhLb0EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolIhLb0EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIhLb0EEC2Ei:
  640|  42.4k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 14.1k, False: 28.2k]
  |  Branch (640:75): [True: 14.1k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIhLb0EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIsLb0EEC2Ev:
  637|  14.1k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIsLb0EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIsLb0EEcvbEv:
  647|   226k|    explicit constexpr operator bool() const noexcept {
  648|   226k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [Folded, False: 226k]
  ------------------
  649|   226k|    }
_ZNK3upx7TriBoolIsLb0EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIsLb0EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIsLb0EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolIsLb0EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIsLb0EEC2Ei:
  640|  42.4k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 14.1k, False: 28.2k]
  |  Branch (640:75): [True: 14.1k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIsLb0EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolItLb0EEC2Ev:
  637|  14.1k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolItLb0EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolItLb0EEcvbEv:
  647|   226k|    explicit constexpr operator bool() const noexcept {
  648|   226k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [Folded, False: 226k]
  ------------------
  649|   226k|    }
_ZNK3upx7TriBoolItLb0EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolItLb0EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolItLb0EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolItLb0EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolItLb0EEC2Ei:
  640|  42.4k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 14.1k, False: 28.2k]
  |  Branch (640:75): [True: 14.1k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolItLb0EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIjLb0EEC2Ev:
  637|  14.1k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIjLb0EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIjLb0EEcvbEv:
  647|   226k|    explicit constexpr operator bool() const noexcept {
  648|   226k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [Folded, False: 226k]
  ------------------
  649|   226k|    }
_ZNK3upx7TriBoolIjLb0EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIjLb0EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIjLb0EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolIjLb0EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIjLb0EEC2Ej:
  640|  42.4k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 14.1k, False: 28.2k]
  |  Branch (640:75): [True: 14.1k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIjLb0EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIxLb0EEC2Ev:
  637|  14.1k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIxLb0EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIxLb0EEcvbEv:
  647|   226k|    explicit constexpr operator bool() const noexcept {
  648|   226k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [Folded, False: 226k]
  ------------------
  649|   226k|    }
_ZNK3upx7TriBoolIxLb0EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIxLb0EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIxLb0EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolIxLb0EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIxLb0EEC2Ex:
  640|  42.4k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 14.1k, False: 28.2k]
  |  Branch (640:75): [True: 14.1k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIxLb0EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIyLb0EEC2Ev:
  637|  14.1k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIyLb0EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIyLb0EEcvbEv:
  647|   226k|    explicit constexpr operator bool() const noexcept {
  648|   226k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [Folded, False: 226k]
  ------------------
  649|   226k|    }
_ZNK3upx7TriBoolIyLb0EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIyLb0EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIyLb0EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolIyLb0EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIyLb0EEC2Ey:
  640|  42.4k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 14.1k, False: 28.2k]
  |  Branch (640:75): [True: 14.1k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIyLb0EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIaLb1EEC2Ev:
  637|  3.69M|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIaLb1EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIaLb1EEcvbEv:
  647|   594k|    explicit constexpr operator bool() const noexcept {
  648|   594k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [True: 594k, Folded]
  ------------------
  649|   594k|    }
_ZNK3upx7TriBoolIaLb1EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIaLb1EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIaLb1EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolIaLb1EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIaLb1EEC2Ei:
  640|  3.86M|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 155k, False: 3.70M]
  |  Branch (640:75): [True: 14.1k, False: 3.69M]
  ------------------
_ZN3upx7TriBoolIaLb1EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIhLb1EEC2Ev:
  637|  14.1k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIhLb1EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIhLb1EEcvbEv:
  647|   226k|    explicit constexpr operator bool() const noexcept {
  648|   226k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [True: 226k, Folded]
  ------------------
  649|   226k|    }
_ZNK3upx7TriBoolIhLb1EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIhLb1EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIhLb1EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolIhLb1EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIhLb1EEC2Ei:
  640|  42.4k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 14.1k, False: 28.2k]
  |  Branch (640:75): [True: 14.1k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIhLb1EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIsLb1EEC2Ev:
  637|  14.1k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIsLb1EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIsLb1EEcvbEv:
  647|   226k|    explicit constexpr operator bool() const noexcept {
  648|   226k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [True: 226k, Folded]
  ------------------
  649|   226k|    }
_ZNK3upx7TriBoolIsLb1EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIsLb1EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIsLb1EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolIsLb1EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIsLb1EEC2Ei:
  640|  42.4k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 14.1k, False: 28.2k]
  |  Branch (640:75): [True: 14.1k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIsLb1EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolItLb1EEC2Ev:
  637|  14.1k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolItLb1EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolItLb1EEcvbEv:
  647|   226k|    explicit constexpr operator bool() const noexcept {
  648|   226k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [True: 226k, Folded]
  ------------------
  649|   226k|    }
_ZNK3upx7TriBoolItLb1EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolItLb1EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolItLb1EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolItLb1EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolItLb1EEC2Ei:
  640|  42.4k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 14.1k, False: 28.2k]
  |  Branch (640:75): [True: 14.1k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolItLb1EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIiLb1EEC2Ev:
  637|  14.1k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIiLb1EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIiLb1EEcvbEv:
  647|   226k|    explicit constexpr operator bool() const noexcept {
  648|   226k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [True: 226k, Folded]
  ------------------
  649|   226k|    }
_ZNK3upx7TriBoolIiLb1EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIiLb1EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIiLb1EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolIiLb1EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIiLb1EEC2Ei:
  640|  42.4k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 14.1k, False: 28.2k]
  |  Branch (640:75): [True: 14.1k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIiLb1EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIjLb1EEC2Ev:
  637|  14.1k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIjLb1EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIjLb1EEcvbEv:
  647|   226k|    explicit constexpr operator bool() const noexcept {
  648|   226k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [True: 226k, Folded]
  ------------------
  649|   226k|    }
_ZNK3upx7TriBoolIjLb1EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIjLb1EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIjLb1EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolIjLb1EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIjLb1EEC2Ej:
  640|  42.4k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 14.1k, False: 28.2k]
  |  Branch (640:75): [True: 14.1k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIjLb1EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIxLb1EEC2Ev:
  637|  14.1k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIxLb1EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIxLb1EEcvbEv:
  647|   226k|    explicit constexpr operator bool() const noexcept {
  648|   226k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [True: 226k, Folded]
  ------------------
  649|   226k|    }
_ZNK3upx7TriBoolIxLb1EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIxLb1EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIxLb1EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolIxLb1EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIxLb1EEC2Ex:
  640|  42.4k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 14.1k, False: 28.2k]
  |  Branch (640:75): [True: 14.1k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIxLb1EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx7TriBoolIyLb1EEC2Ev:
  637|  14.1k|    forceinline constexpr TriBool() noexcept {}
_ZNK3upx7TriBoolIyLb1EE8getValueEv:
  656|  70.7k|    constexpr value_type getValue() const noexcept { return value; }
_ZNK3upx7TriBoolIyLb1EEcvbEv:
  647|   226k|    explicit constexpr operator bool() const noexcept {
  648|   226k|        return IsThirdTrue ? (value != False) : (value == True);
  ------------------
  |  Branch (648:16): [True: 226k, Folded]
  ------------------
  649|   226k|    }
_ZNK3upx7TriBoolIyLb1EE13isStrictFalseEv:
  651|  84.8k|    constexpr bool isStrictFalse() const noexcept { return value == False; }
_ZNK3upx7TriBoolIyLb1EE12isStrictTrueEv:
  652|  70.7k|    constexpr bool isStrictTrue() const noexcept { return value == True; }
_ZNK3upx7TriBoolIyLb1EE12isStrictBoolEv:
  653|  70.7k|    constexpr bool isStrictBool() const noexcept { return value == False || value == True; }
  ------------------
  |  Branch (653:59): [True: 28.2k, False: 42.4k]
  |  Branch (653:77): [True: 14.1k, False: 28.2k]
  ------------------
_ZNK3upx7TriBoolIyLb1EE7isThirdEv:
  654|  70.7k|    constexpr bool isThird() const noexcept { return value != False && value != True; }
  ------------------
  |  Branch (654:54): [True: 42.4k, False: 28.2k]
  |  Branch (654:72): [True: 28.2k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIyLb1EEC2Ey:
  640|  42.4k|    constexpr TriBool(promoted_type x) noexcept : value(x == 0 ? False : (x == 1 ? True : Third)) {}
  ------------------
  |  Branch (640:57): [True: 14.1k, False: 28.2k]
  |  Branch (640:75): [True: 14.1k, False: 14.1k]
  ------------------
_ZN3upx7TriBoolIyLb1EEC2ENS1_10value_typeE:
  638|  14.1k|    forceinline constexpr TriBool(value_type x) noexcept : value(x) {}
_ZN3upx4uminIjjEET_RKS1_S3_:
  486|  3.41k|forceinline constexpr T umin(const T &a, const T &b) noexcept {
  487|  3.41k|    return b < a ? b : a;
  ------------------
  |  Branch (487:12): [True: 1.56k, False: 1.85k]
  ------------------
  488|  3.41k|}
_ZN3upx4uminIyyEET_RKS1_S3_:
  486|  1.45k|forceinline constexpr T umin(const T &a, const T &b) noexcept {
  487|  1.45k|    return b < a ? b : a;
  ------------------
  |  Branch (487:12): [True: 0, False: 1.45k]
  ------------------
  488|  1.45k|}
_ZN3upx4umaxIjjEET_RKS1_S3_:
  490|  5.04k|forceinline constexpr T umax(const T &a, const T &b) noexcept {
  491|  5.04k|    return a < b ? b : a;
  ------------------
  |  Branch (491:12): [True: 5.03k, False: 6]
  ------------------
  492|  5.04k|}
_ZN3upx4umaxImmEET_RKS1_S3_:
  490|   282k|forceinline constexpr T umax(const T &a, const T &b) noexcept {
  491|   282k|    return a < b ? b : a;
  ------------------
  |  Branch (491:12): [True: 141k, False: 141k]
  ------------------
  492|   282k|}
_ZN3upx15ptr_static_castIPtcEET_PT0_:
  519|   339k|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|   339k|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|   339k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|   339k|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|   339k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|   339k|}
_ZN3upx6OptVarIjLj2ELj0ELj4EE5resetEv:
  714|   155k|    void reset() noexcept {
  715|   155k|        value = default_value;
  716|   155k|        is_set = false;
  717|   155k|    }
_ZN3upx6OptVarIjLj0ELj0ELj4EE5resetEv:
  714|   311k|    void reset() noexcept {
  715|   311k|        value = default_value;
  716|   311k|        is_set = false;
  717|   311k|    }
_ZN3upx6OptVarIjLj3ELj0ELj8EE5resetEv:
  714|   155k|    void reset() noexcept {
  715|   155k|        value = default_value;
  716|   155k|        is_set = false;
  717|   155k|    }
_ZN3upx6OptVarIjLj4194304ELj1ELj1073741824EE5resetEv:
  714|   155k|    void reset() noexcept {
  715|   155k|        value = default_value;
  716|   155k|        is_set = false;
  717|   155k|    }
_ZN3upx6OptVarIjLj64ELj5ELj273EE5resetEv:
  714|   155k|    void reset() noexcept {
  715|   155k|        value = default_value;
  716|   155k|        is_set = false;
  717|   155k|    }
_ZN3upx6OptVarIjLj8ELj1ELj9EEC2Ev:
  694|   141k|    explicit constexpr OptVar() noexcept {}
_ZN3upx6OptVarIjLj15ELj9ELj15EEC2Ev:
  694|   141k|    explicit constexpr OptVar() noexcept {}
_ZN3upx6OptVarIjLj0ELj0ELj4EEC2Ev:
  694|   282k|    explicit constexpr OptVar() noexcept {}
_ZN3upx6OptVarIjLj8ELj1ELj9EE5resetEv:
  714|   155k|    void reset() noexcept {
  715|   155k|        value = default_value;
  716|   155k|        is_set = false;
  717|   155k|    }
_ZN3upx6OptVarIjLj15ELj9ELj15EE5resetEv:
  714|   155k|    void reset() noexcept {
  715|   155k|        value = default_value;
  716|   155k|        is_set = false;
  717|   155k|    }
_ZN3upx10owner_freeIcEEvRPT_:
  801|  4.28M|inline void owner_free(OwningPointer(T)(&object)) noexcept {
  802|  4.28M|    static_assert(!std::is_class_v<T>); // UPX convention
  803|  4.28M|    if (object != nullptr) {
  ------------------
  |  Branch (803:9): [True: 4.28M, False: 0]
  ------------------
  804|       |        // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  805|  4.28M|        ::free((T *) object); // free memory from malloc()
  806|  4.28M|        object = nullptr;
  807|  4.28M|    }
  808|  4.28M|    assert_noexcept((T *) object == nullptr);
  ------------------
  |  |  496|  4.28M|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  8.57M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 4.28M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  809|  4.28M|    assert_noexcept(object == nullptr);
  ------------------
  |  |  496|  4.28M|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  8.57M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 4.28M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  810|  4.28M|}
_ZN3upx6OptVarIjLj2ELj0ELj4EEC2Ev:
  694|   141k|    explicit constexpr OptVar() noexcept {}
_ZN3upx6OptVarIjLj3ELj0ELj8EEC2Ev:
  694|   141k|    explicit constexpr OptVar() noexcept {}
_ZN3upx6OptVarIjLj4194304ELj1ELj1073741824EEC2Ev:
  694|   141k|    explicit constexpr OptVar() noexcept {}
_ZN3upx6OptVarIjLj64ELj5ELj273EEC2Ev:
  694|   141k|    explicit constexpr OptVar() noexcept {}
_ZN3upx15ptr_static_castIPKh4LE16EET_PKT0_:
  528|  55.2k|forceinline constexpr Result ptr_static_cast(const From *ptr) noexcept {
  529|  55.2k|    static_assert(std::is_pointer_v<Result>);
  530|  55.2k|    static_assert(std::is_const_v<std::remove_pointer_t<Result> >); // required
  531|       |    // don't cast through "const void *" if type is convertible
  532|  55.2k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, const void *>
  533|  55.2k|        VoidPtr;
  534|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  535|  55.2k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  536|  55.2k|}
_ZN3upx15ptr_static_castIPK21upx_charptr_unit_typehEET_PKT0_:
  528|      6|forceinline constexpr Result ptr_static_cast(const From *ptr) noexcept {
  529|      6|    static_assert(std::is_pointer_v<Result>);
  530|      6|    static_assert(std::is_const_v<std::remove_pointer_t<Result> >); // required
  531|       |    // don't cast through "const void *" if type is convertible
  532|      6|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, const void *>
  533|      6|        VoidPtr;
  534|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  535|      6|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  536|      6|}
_ZN3upx15ptr_static_castIPK21upx_charptr_unit_typehEET_PT0_:
  519|      6|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|      6|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|      6|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|      6|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|      6|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|      6|}
_ZN3upx15ptr_static_castIPKh4LE32EET_PKT0_:
  528|  3.99k|forceinline constexpr Result ptr_static_cast(const From *ptr) noexcept {
  529|  3.99k|    static_assert(std::is_pointer_v<Result>);
  530|  3.99k|    static_assert(std::is_const_v<std::remove_pointer_t<Result> >); // required
  531|       |    // don't cast through "const void *" if type is convertible
  532|  3.99k|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, const void *>
  533|  3.99k|        VoidPtr;
  534|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  535|  3.99k|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  536|  3.99k|}
_ZN3upx12owner_deleteI8UiPackerEEvRPT_:
  789|   412k|inline void owner_delete(OwningPointer(T)(&object)) noexcept {
  790|   412k|    static_assert(std::is_class_v<T>); // UPX convention
  791|   412k|    static_assert(std::is_nothrow_destructible_v<T>);
  792|   412k|    if (object != nullptr) {
  ------------------
  |  Branch (792:9): [True: 412k, False: 0]
  ------------------
  793|   412k|        delete (T *) object; // single object delete
  794|   412k|        object = nullptr;
  795|   412k|    }
  796|   412k|    assert_noexcept((T *) object == nullptr);
  ------------------
  |  |  496|   412k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   824k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 412k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  797|   412k|    assert_noexcept(object == nullptr);
  ------------------
  |  |  496|   412k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   824k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 412k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  798|   412k|}
_ZN3upx12owner_deleteI9ElfLinkerEEvRPT_:
  789|   412k|inline void owner_delete(OwningPointer(T)(&object)) noexcept {
  790|   412k|    static_assert(std::is_class_v<T>); // UPX convention
  791|   412k|    static_assert(std::is_nothrow_destructible_v<T>);
  792|   412k|    if (object != nullptr) {
  ------------------
  |  Branch (792:9): [True: 0, False: 412k]
  ------------------
  793|      0|        delete (T *) object; // single object delete
  794|      0|        object = nullptr;
  795|      0|    }
  796|   412k|    assert_noexcept((T *) object == nullptr);
  ------------------
  |  |  496|   412k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   824k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 412k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  797|   412k|    assert_noexcept(object == nullptr);
  ------------------
  |  |  496|   412k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   824k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 412k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  798|   412k|}
_ZN3upx12owner_deleteI10PackerBaseEEvRPT_:
  789|  14.1k|inline void owner_delete(OwningPointer(T)(&object)) noexcept {
  790|  14.1k|    static_assert(std::is_class_v<T>); // UPX convention
  791|  14.1k|    static_assert(std::is_nothrow_destructible_v<T>);
  792|  14.1k|    if (object != nullptr) {
  ------------------
  |  Branch (792:9): [True: 6.18k, False: 7.94k]
  ------------------
  793|  6.18k|        delete (T *) object; // single object delete
  794|  6.18k|        object = nullptr;
  795|  6.18k|    }
  796|  14.1k|    assert_noexcept((T *) object == nullptr);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  797|  14.1k|    assert_noexcept(object == nullptr);
  ------------------
  |  |  496|  14.1k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  798|  14.1k|}
_ZN3upx15ptr_static_castIPhN6PeFile5Reloc9BaseRelocEEET_PT0_:
  519|    696|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|    696|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|    696|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|    696|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|    696|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|    696|}
_ZN3upx15ptr_static_castIPN6PeFile5Reloc9BaseRelocEhEET_PT0_:
  519|      6|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|      6|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|      6|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|      6|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|      6|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|      6|}
_ZN3upx15ptr_static_castIP4LE16hEET_PT0_:
  519|      6|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|      6|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|      6|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|      6|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|      6|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|      6|}
_ZN3upx12owner_deleteIN8UiPacker5StateEEEvRPT_:
  789|   412k|inline void owner_delete(OwningPointer(T)(&object)) noexcept {
  790|   412k|    static_assert(std::is_class_v<T>); // UPX convention
  791|   412k|    static_assert(std::is_nothrow_destructible_v<T>);
  792|   412k|    if (object != nullptr) {
  ------------------
  |  Branch (792:9): [True: 412k, False: 0]
  ------------------
  793|   412k|        delete (T *) object; // single object delete
  794|   412k|        object = nullptr;
  795|   412k|    }
  796|   412k|    assert_noexcept((T *) object == nullptr);
  ------------------
  |  |  496|   412k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   824k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 412k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  797|   412k|    assert_noexcept(object == nullptr);
  ------------------
  |  |  496|   412k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   824k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 412k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  798|   412k|}
_ZN3upx15ptr_static_castIPKhhEET_PT0_:
  519|  8.09M|forceinline constexpr Result ptr_static_cast(From *ptr) noexcept {
  520|  8.09M|    static_assert(std::is_pointer_v<Result>);
  521|       |    // don't cast through "void *" if type is convertible
  522|  8.09M|    typedef std::conditional_t<std::is_convertible_v<decltype(ptr), Result>, Result, void *>
  523|  8.09M|        VoidPtr;
  524|       |    // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  525|  8.09M|    return static_cast<Result>(static_cast<VoidPtr>(ptr));
  526|  8.09M|}

_Z22membuffer_get_void_ptrR9MemBuffer:
   35|   124k|void *membuffer_get_void_ptr(MemBuffer &mb) noexcept { return mb.getVoidPtr(); }
_Z27membuffer_get_size_in_bytesRK9MemBuffer:
   37|   124k|unsigned membuffer_get_size_in_bytes(const MemBuffer &mb) noexcept { return mb.getSizeInBytes(); }
_ZN9MemBufferC2Ey:
   79|   311k|MemBuffer::MemBuffer(upx_uint64_t bytes) may_throw : MemBufferBase<byte>() {
   80|   311k|    static_assert(element_size == 1);
   81|   311k|    alloc(bytes);
   82|   311k|    debug_set(debug.last_return_address_alloc, upx_return_address());
   83|   311k|}
_ZN9MemBufferD2Ev:
   85|  3.02M|MemBuffer::~MemBuffer() noexcept { this->dealloc(); }
_ZN9MemBuffer21getSizeForCompressionEjj:
   88|   155k|unsigned MemBuffer::getSizeForCompression(unsigned uncompressed_size, unsigned extra) may_throw {
   89|   155k|    if (uncompressed_size == 0)
  ------------------
  |  Branch (89:9): [True: 14.1k, False: 141k]
  ------------------
   90|  14.1k|        throwCantPack("invalid uncompressed_size");
   91|   141k|    const size_t z = uncompressed_size; // fewer keystrokes and display columns
   92|   141k|    size_t bytes = mem_size(1, z);      // check size
   93|       |    // All literal: 1 bit overhead per literal byte; from UCL documentation
   94|   141k|    bytes = upx::umax(bytes, z + z / 8 + 256);
   95|       |    // zstd: ZSTD_COMPRESSBOUND
   96|   141k|    bytes = upx::umax(bytes, z + (z >> 8) + ((z < (128 << 10)) ? (((128 << 10) - z) >> 11) : 0));
  ------------------
  |  Branch (96:46): [True: 42.4k, False: 99.0k]
  ------------------
   97|       |    // add extra and 256 safety for various rounding/alignments
   98|   141k|    bytes = mem_size(1, bytes, extra, 256);
   99|   141k|    return ACC_ICONV(unsigned, bytes);
  ------------------
  |  | 1546|   141k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   141k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  100|   155k|}
_ZN9MemBuffer23getSizeForDecompressionEjj:
  103|  14.4k|unsigned MemBuffer::getSizeForDecompression(unsigned uncompressed_size, unsigned extra) may_throw {
  104|  14.4k|    if (uncompressed_size == 0)
  ------------------
  |  Branch (104:9): [True: 14.1k, False: 275]
  ------------------
  105|  14.1k|        throwCantPack("invalid uncompressed_size");
  106|    275|    size_t bytes = mem_size(1, uncompressed_size, extra); // check size
  107|    275|    return ACC_ICONV(unsigned, bytes);
  ------------------
  |  | 1546|    275|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|    275|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  108|  14.4k|}
_ZN9MemBuffer21allocForDecompressionEjj:
  116|    272|void MemBuffer::allocForDecompression(unsigned uncompressed_size, unsigned extra) may_throw {
  117|    272|    unsigned bytes = getSizeForDecompression(uncompressed_size, extra);
  118|    272|    alloc(bytes);
  119|    272|    debug_set(debug.last_return_address_alloc, upx_return_address());
  120|    272|}
_ZN9MemBuffer4fillEmmi:
  122|   273k|void MemBuffer::fill(size_t off, size_t bytes, int value) may_throw {
  123|   273k|    debug_set(debug.last_return_address_fill, upx_return_address());
  124|   273k|    checkState();
  125|       |    // check overrun and wrap-around
  126|   273k|    if very_unlikely (off + bytes > size_in_bytes || off + bytes < off)
  ------------------
  |  |  245|   273k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   273k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   546k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 273k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 273k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 273k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  127|      0|        throwCantPack("MemBuffer::fill out of range; take care!");
  128|   273k|    if (bytes > 0)
  ------------------
  |  Branch (128:9): [True: 273k, False: 0]
  ------------------
  129|   273k|        memset(ptr + off, value, bytes);
  130|   273k|}
_ZN9MemBuffer11subref_implEPKcmm:
  134|  7.07M|void *MemBuffer::subref_impl(const char *errfmt, size_t skip, size_t take) may_throw {
  135|  7.07M|    debug_set(debug.last_return_address_subref, upx_return_address());
  136|  7.07M|    checkState();
  137|       |    // check overrun and wrap-around
  138|  7.07M|    if very_unlikely (skip + take > size_in_bytes || skip + take < skip) {
  ------------------
  |  |  245|  7.07M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  7.07M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  12.0M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 2.54M, False: 4.52M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 2.09M, False: 4.98M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 452k, False: 4.52M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  139|  2.54M|        char buf[100];
  140|       |        // printf is using unsigned formatting
  141|  2.54M|        if (!errfmt || !errfmt[0])
  ------------------
  |  Branch (141:13): [True: 0, False: 2.54M]
  |  Branch (141:24): [True: 2.54M, False: 0]
  ------------------
  142|  2.54M|            errfmt = "bad subref %#x %#x";
  143|  2.54M|        upx_safe_snprintf(buf, sizeof(buf), errfmt, (unsigned) skip, (unsigned) take);
  144|  2.54M|        throwCantPack(buf);
  145|  2.54M|    }
  146|  4.52M|    return ptr + skip;
  147|  7.07M|}
_ZNK9MemBuffer10checkStateEv:
  158|  8.11M|void MemBuffer::checkState() const may_throw {
  159|  8.11M|    if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|  8.11M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  8.11M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  8.11M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.1k, False: 8.09M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  160|  14.1k|        throwInternalError("block not allocated");
  161|  8.09M|    assert(size_in_bytes > 0);
  ------------------
  |  |  493|  8.09M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  16.1M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 8.09M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  162|  8.09M|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (162:9): [True: 8.09M, False: 0]
  ------------------
  163|  8.09M|        const byte *p = upx::ptr_static_cast<const byte *>(ptr);
  164|  8.09M|        if very_unlikely (get_ne32(p - 4) != MAGIC1(p))
  ------------------
  |  |  245|  8.09M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  8.09M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  8.09M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.1k, False: 8.08M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  165|  14.1k|            throwInternalError("memory clobbered before allocated block 1");
  166|  8.08M|        if very_unlikely (get_ne32(p - 8) != size_in_bytes)
  ------------------
  |  |  245|  8.08M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  8.08M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  8.08M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 8.08M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  167|      0|            throwInternalError("memory clobbered before allocated block 2");
  168|  8.08M|        if very_unlikely (get_ne32(p + size_in_bytes) != MAGIC2(p))
  ------------------
  |  |  245|  8.08M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  8.08M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  8.08M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 8.08M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  169|      0|            throwInternalError("memory clobbered past end of allocated block");
  170|  8.08M|    }
  171|  8.09M|}
_ZN9MemBuffer5allocEy:
  173|   367k|void MemBuffer::alloc(const upx_uint64_t bytes) may_throw {
  174|       |    // INFO: we don't automatically free a used buffer
  175|   367k|    assert(ptr == nullptr);
  ------------------
  |  |  493|   367k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   735k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 367k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  176|   367k|    assert(size_in_bytes == 0);
  ------------------
  |  |  493|   367k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   735k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 367k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  177|       |    //
  178|   367k|    assert(bytes > 0);
  ------------------
  |  |  493|   367k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   735k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 367k, False: 3]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 3, False: 0]
  |  |  ------------------
  ------------------
  179|      0|    debug_set(debug.last_return_address_alloc, upx_return_address());
  180|   367k|    upx_rsize_t malloc_bytes = mem_size(1, bytes); // check size
  181|   367k|    if (use_simple_mcheck())
  ------------------
  |  Branch (181:9): [True: 353k, False: 14.1k]
  ------------------
  182|   353k|        malloc_bytes += 32;
  183|  14.1k|    else
  184|  14.1k|        malloc_bytes += 4;
  185|   367k|    byte *p = (byte *) ::malloc(malloc_bytes);
  186|   367k|    NO_printf("MemBuffer::alloc %llu: %p\n", bytes, p);
  187|   367k|    if (!p)
  ------------------
  |  Branch (187:9): [True: 0, False: 367k]
  ------------------
  188|      0|        throwOutOfMemoryException();
  189|   367k|    size_in_bytes = size_type(bytes);
  190|   367k|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (190:9): [True: 353k, False: 14.1k]
  ------------------
  191|   353k|        p += 16;
  192|       |        // store magic constants to detect buffer overruns
  193|   353k|        set_ne32(p - 8, size_in_bytes);
  194|   353k|        set_ne32(p - 4, MAGIC1(p));
  ------------------
  |  |  155|   353k|#define MAGIC1(p)     ((PTR_BITS32(p) ^ 0xfefdbeeb) | 1)
  |  |  ------------------
  |  |  |  |  154|   353k|#define PTR_BITS32(p) ((upx_uint32_t) (ptr_get_address(p) & 0xffffffff))
  |  |  ------------------
  ------------------
  195|   353k|        set_ne32(p + size_in_bytes + 0, MAGIC2(p));
  ------------------
  |  |  156|   353k|#define MAGIC2(p)     ((PTR_BITS32(p) ^ 0xfefdbeeb ^ 0x88224411) | 1)
  |  |  ------------------
  |  |  |  |  154|   353k|#define PTR_BITS32(p) ((upx_uint32_t) (ptr_get_address(p) & 0xffffffff))
  |  |  ------------------
  ------------------
  196|   353k|        set_ne32(p + size_in_bytes + 4, stats.global_alloc_counter);
  197|   353k|    }
  198|   367k|    ptr = upx::ptr_static_cast<pointer>(p);
  199|       |#if !defined(__SANITIZE_MEMORY__) && DEBUG
  200|       |    memset(ptr, 0xfb, size_in_bytes);
  201|       |    (void) VALGRIND_MAKE_MEM_UNDEFINED(ptr, size_in_bytes);
  202|       |#endif
  203|   367k|    stats.global_alloc_counter += 1;
  204|   367k|    stats.global_total_bytes += size_in_bytes;
  205|   367k|    stats.global_total_active_bytes += size_in_bytes;
  206|   367k|#if DEBUG || 1
  207|   367k|    checkState();
  208|   367k|#endif
  209|   367k|}
_ZN9MemBuffer7deallocEv:
  211|  3.02M|void MemBuffer::dealloc() noexcept {
  212|  3.02M|    if (ptr == nullptr) {
  ------------------
  |  Branch (212:9): [True: 2.67M, False: 353k]
  ------------------
  213|  2.67M|        assert_noexcept(size_in_bytes == 0);
  ------------------
  |  |  496|  2.67M|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  5.34M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 2.67M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  214|      0|        return;
  215|  2.67M|    }
  216|   353k|    debug_set(debug.last_return_address_dealloc, upx_return_address());
  217|   353k|#if DEBUG || 1
  218|       |    // info: calling checkState() here violates "noexcept", so we need a try block
  219|   353k|    bool shall_check = true;
  220|       |    // bool shall_check = (std::uncaught_exceptions() == 0); // only if not unwinding
  221|       |    // TODO later: add a priority() method to class Throwable
  222|   353k|    if (shall_check) {
  ------------------
  |  Branch (222:9): [True: 353k, False: 0]
  ------------------
  223|   353k|        try {
  224|   353k|            checkState();
  225|   353k|        } catch (const Throwable &e) {
  226|      0|            printErr("unknown", e);
  227|      0|            std::terminate();
  228|      0|        } catch (...) {
  229|      0|            std::terminate();
  230|      0|        }
  231|   353k|    }
  232|   353k|#endif
  233|   353k|    stats.global_dealloc_counter += 1;
  234|   353k|    stats.global_total_active_bytes -= size_in_bytes;
  235|   353k|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (235:9): [True: 353k, False: 0]
  ------------------
  236|   353k|        byte *p = upx::ptr_static_cast<byte *>(ptr);
  237|       |        // clear magic constants
  238|   353k|        set_ne32(p - 8, 0);
  239|   353k|        set_ne32(p - 4, 0);
  240|   353k|        set_ne32(p + size_in_bytes, 0);
  241|   353k|        set_ne32(p + size_in_bytes + 4, 0);
  242|       |        //
  243|   353k|        ::free(p - 16); // NOLINT(clang-analyzer-unix.Malloc) // see NOTE above
  244|   353k|    } else {
  245|      0|        ::free(ptr); // NOLINT(clang-analyzer-unix.Malloc) // see NOTE above
  246|      0|    }
  247|   353k|    ptr = nullptr;
  248|   353k|    size_in_bytes = 0;
  249|   353k|}
membuffer.cpp:_ZL17use_simple_mcheckv:
   65|  9.17M|static noinline bool use_simple_mcheck() noexcept {
   66|  9.17M|    static upx_std_once_flag init_done;
   67|  9.17M|    upx_std_call_once(init_done, init_use_simple_mcheck);
   68|       |    // NOTE: clang-analyzer-unix.Malloc does not know that this flag is "constant"; see below
   69|  9.17M|    return use_simple_mcheck_flag;
   70|  9.17M|}
membuffer.cpp:_ZL22init_use_simple_mcheckv:
   57|      1|static noinline void init_use_simple_mcheck() noexcept {
   58|      1|    bool r = true;
   59|      1|    if (RUNNING_ON_VALGRIND) {
  ------------------
  |  | 6726|      1|    (unsigned)VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* if not */,         \
  |  |  ------------------
  |  |  |  |  426|      1|    __extension__                                                 \
  |  |  |  |  427|      1|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|      1|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|      1|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|      1|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|      1|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|      1|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|      1|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|      1|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|      1|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|      1|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|      1|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|      1|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|      1|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|      1|                     : "cc", "memory"                             \
  |  |  |  |  441|      1|                    );                                            \
  |  |  |  |  442|      1|    _zzq_result;                                                  \
  |  |  |  |  443|      1|    })
  |  |  ------------------
  |  |  |  Branch (6726:5): [True: 0, False: 1]
  |  |  ------------------
  |  | 6727|      1|                                    VG_USERREQ__RUNNING_ON_VALGRIND,  \
  |  | 6728|      1|                                    0, 0, 0, 0, 0)                    \
  ------------------
   60|      0|        r = false;
   61|       |        NO_fprintf(stderr, "upx: detected RUNNING_ON_VALGRIND\n");
   62|      0|    }
   63|      1|    use_simple_mcheck_flag = r;
   64|      1|}
membuffer.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
  255|  14.1k|TEST_CASE("MemBuffer unused 1") {
  256|  14.1k|    MemBuffer mb;
  257|  14.1k|    (void) mb;
  258|  14.1k|}
membuffer.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
  260|  14.1k|TEST_CASE("MemBuffer unused 2") {
  261|  14.1k|    MemBuffer mb;
  262|  14.1k|    CHECK(mb.raw_ptr() == nullptr);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  263|  14.1k|    CHECK(mb.raw_size_in_bytes() == 0);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  264|  14.1k|}
membuffer.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
  266|  14.1k|TEST_CASE("MemBuffer core") {
  267|  14.1k|    constexpr size_t N = 64;
  268|  14.1k|    MemBuffer mb;
  269|  14.1k|    CHECK_THROWS(mb.checkState());
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  270|  14.1k|    CHECK_THROWS(mb.alloc(0x30000000 + 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|  14.1k|    CHECK(raw_bytes(mb, 0) == nullptr);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  272|  14.1k|    CHECK_THROWS(raw_bytes(mb, 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  273|  14.1k|    CHECK_THROWS(mb.begin());
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  274|  14.1k|    CHECK_THROWS(mb.end());
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|  14.1k|    CHECK_THROWS(mb.cbegin());
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  276|  14.1k|    CHECK_THROWS(mb.cend());
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  277|  14.1k|    mb.alloc(N);
  278|  14.1k|    mb.checkState();
  279|  14.1k|    CHECK(mb.begin() == mb.cbegin());
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|  14.1k|    CHECK(mb.end() == mb.cend());
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  281|  14.1k|    CHECK(mb.begin() == &mb[0]);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  282|  14.1k|    CHECK(mb.end() == &mb[0] + N);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  283|  14.1k|    CHECK(mb.cbegin() == &mb[0]);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|  14.1k|    CHECK(mb.cend() == &mb[0] + N);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  285|  14.1k|    CHECK(raw_bytes(mb, N) != nullptr);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  286|  14.1k|    CHECK(raw_bytes(mb, N) == mb.getVoidPtr());
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|  14.1k|    CHECK_THROWS(raw_bytes(mb, N + 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  288|  14.1k|    CHECK_NOTHROW(mb + N);
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  289|  14.1k|    CHECK_THROWS(mb + (N + 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|       |#if ALLOW_INT_PLUS_MEMBUFFER
  291|       |    CHECK_NOTHROW(N + mb);
  292|       |    CHECK_THROWS((N + 1) + mb);
  293|       |#endif
  294|  14.1k|    CHECK_NOTHROW(mb.subref("", 0, N));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  295|  14.1k|    CHECK_NOTHROW(mb.subref("", N, 0));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|  14.1k|    CHECK_THROWS(mb.subref("", 1, N));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  297|  14.1k|    CHECK_THROWS(mb.subref("", N, 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  298|  14.1k|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (298:9): [True: 14.1k, False: 0]
  ------------------
  299|  14.1k|        byte *p = upx::ptr_static_cast<byte *>(raw_bytes(mb, 0));
  300|  14.1k|        upx_uint32_t magic1 = get_ne32(p - 4);
  301|  14.1k|        set_ne32(p - 4, magic1 ^ 1);
  302|  14.1k|        CHECK_THROWS(mb.checkState());
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  303|  14.1k|        set_ne32(p - 4, magic1);
  304|  14.1k|        mb.checkState();
  305|  14.1k|    }
  306|  14.1k|}
membuffer.cpp:_ZL19DOCTEST_ANON_FUNC_8v:
  308|  14.1k|TEST_CASE("MemBuffer global overloads") {
  309|  14.1k|    {
  310|  14.1k|        MemBuffer mb1(1);
  311|  14.1k|        MemBuffer mb4(4);
  312|  14.1k|        mb1.clear();
  313|  14.1k|        mb4.clear();
  314|  14.1k|        CHECK(memcmp(mb1, "\x00", 1) == 0);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  315|  14.1k|        CHECK_THROWS(memcmp(mb1, "\x00\x00", 2)); // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  316|  14.1k|        CHECK_THROWS(memcmp("\x00\x00", mb1, 2)); // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  317|  14.1k|        CHECK_THROWS(memcmp(mb1, mb4, 2));        // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  318|  14.1k|        CHECK_THROWS(memcmp(mb4, mb1, 2));        // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  319|  14.1k|        CHECK_NOTHROW(memset(mb1, 255, 1));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  320|  14.1k|        CHECK_THROWS(memset(mb1, 254, 2));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  321|  14.1k|        CHECK(mb1[0] == 255);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  322|  14.1k|    }
  323|       |
  324|   240k|    for (size_t i = 1; i <= 16; i++) {
  ------------------
  |  Branch (324:24): [True: 226k, False: 14.1k]
  ------------------
  325|   226k|        MemBuffer mb(i);
  326|   226k|        mb.clear();
  327|       |
  328|   226k|        if (i < 2) {
  ------------------
  |  Branch (328:13): [True: 14.1k, False: 212k]
  ------------------
  329|  14.1k|            CHECK_THROWS(get_ne16(mb));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  330|  14.1k|            CHECK_THROWS(get_be16(mb));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  331|  14.1k|            CHECK_THROWS(get_le16(mb));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  332|  14.1k|            CHECK_THROWS(set_ne16(mb, 0));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  333|  14.1k|            CHECK_THROWS(set_be16(mb, 0));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  334|  14.1k|            CHECK_THROWS(set_le16(mb, 0));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  335|   212k|        } else {
  336|   212k|            CHECK_NOTHROW(get_ne16(mb));
  ------------------
  |  | 2974|   212k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   212k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   212k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   212k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   212k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   212k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   212k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   212k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   212k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   212k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   212k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   212k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   212k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   212k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   212k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   212k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   212k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  337|   212k|            CHECK_NOTHROW(get_be16(mb));
  ------------------
  |  | 2974|   212k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   212k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   212k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   212k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   212k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   212k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   212k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   212k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   212k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   212k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   212k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   212k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   212k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   212k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   212k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   212k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   212k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  338|   212k|            CHECK_NOTHROW(get_le16(mb));
  ------------------
  |  | 2974|   212k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   212k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   212k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   212k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   212k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   212k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   212k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   212k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   212k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   212k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   212k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   212k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   212k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   212k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   212k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   212k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   212k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  339|   212k|            CHECK_NOTHROW(set_ne16(mb, 0));
  ------------------
  |  | 2974|   212k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   212k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   212k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   212k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   212k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   212k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   212k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   212k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   212k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   212k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   212k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   212k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   212k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   212k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   212k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   212k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   212k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  340|   212k|            CHECK_NOTHROW(set_be16(mb, 0));
  ------------------
  |  | 2974|   212k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   212k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   212k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   212k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   212k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   212k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   212k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   212k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   212k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   212k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   212k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   212k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   212k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   212k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   212k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   212k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   212k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  341|   212k|            CHECK_NOTHROW(set_le16(mb, 0));
  ------------------
  |  | 2974|   212k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   212k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   212k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   212k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   212k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   212k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   212k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   212k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   212k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   212k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   212k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   212k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   212k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   212k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   212k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   212k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   212k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  342|   212k|        }
  343|   226k|        if (i < 3) {
  ------------------
  |  Branch (343:13): [True: 28.2k, False: 198k]
  ------------------
  344|  28.2k|            CHECK_THROWS(get_ne24(mb));
  ------------------
  |  | 2970|  28.2k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  28.2k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  28.2k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  28.2k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  28.2k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 28.2k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  28.2k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  28.2k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  28.2k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  28.2k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  28.2k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  28.2k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  28.2k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  28.2k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  28.2k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  28.2k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  28.2k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  28.2k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  28.2k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  28.2k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 28.2k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  345|  28.2k|            CHECK_THROWS(get_be24(mb));
  ------------------
  |  | 2970|  28.2k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  28.2k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  28.2k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  28.2k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  28.2k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 28.2k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  28.2k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  28.2k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  28.2k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  28.2k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  28.2k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  28.2k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  28.2k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  28.2k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  28.2k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  28.2k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  28.2k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  28.2k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  28.2k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  28.2k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 28.2k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  346|  28.2k|            CHECK_THROWS(get_le24(mb));
  ------------------
  |  | 2970|  28.2k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  28.2k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  28.2k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  28.2k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  28.2k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 28.2k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  28.2k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  28.2k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  28.2k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  28.2k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  28.2k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  28.2k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  28.2k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  28.2k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  28.2k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  28.2k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  28.2k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  28.2k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  28.2k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  28.2k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 28.2k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  347|  28.2k|            CHECK_THROWS(set_ne24(mb, 0));
  ------------------
  |  | 2970|  28.2k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  28.2k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  28.2k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  28.2k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  28.2k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 28.2k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  28.2k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  28.2k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  28.2k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  28.2k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  28.2k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  28.2k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  28.2k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  28.2k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  28.2k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  28.2k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  28.2k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  28.2k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  28.2k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  28.2k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 28.2k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  348|  28.2k|            CHECK_THROWS(set_be24(mb, 0));
  ------------------
  |  | 2970|  28.2k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  28.2k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  28.2k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  28.2k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  28.2k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 28.2k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  28.2k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  28.2k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  28.2k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  28.2k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  28.2k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  28.2k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  28.2k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  28.2k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  28.2k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  28.2k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  28.2k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  28.2k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  28.2k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  28.2k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 28.2k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  349|  28.2k|            CHECK_THROWS(set_le24(mb, 0));
  ------------------
  |  | 2970|  28.2k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  28.2k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  28.2k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  28.2k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  28.2k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 28.2k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  28.2k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  28.2k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  28.2k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  28.2k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  28.2k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  28.2k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  28.2k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  28.2k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  28.2k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  28.2k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  28.2k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  28.2k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  28.2k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  28.2k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 28.2k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  350|   198k|        } else {
  351|   198k|            CHECK_NOTHROW(get_ne24(mb));
  ------------------
  |  | 2974|   198k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   198k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   198k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   198k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   198k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   198k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   198k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   198k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   198k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   198k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   198k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   198k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 198k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   198k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   198k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   198k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   198k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   198k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 198k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  352|   198k|            CHECK_NOTHROW(get_be24(mb));
  ------------------
  |  | 2974|   198k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   198k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   198k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   198k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   198k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   198k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   198k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   198k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   198k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   198k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   198k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   198k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 198k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   198k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   198k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   198k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   198k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   198k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 198k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  353|   198k|            CHECK_NOTHROW(get_le24(mb));
  ------------------
  |  | 2974|   198k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   198k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   198k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   198k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   198k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   198k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   198k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   198k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   198k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   198k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   198k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   198k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 198k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   198k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   198k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   198k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   198k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   198k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 198k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  354|   198k|            CHECK_NOTHROW(set_ne24(mb, 0));
  ------------------
  |  | 2974|   198k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   198k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   198k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   198k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   198k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   198k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   198k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   198k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   198k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   198k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   198k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   198k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 198k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   198k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   198k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   198k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   198k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   198k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 198k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  355|   198k|            CHECK_NOTHROW(set_be24(mb, 0));
  ------------------
  |  | 2974|   198k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   198k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   198k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   198k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   198k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   198k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   198k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   198k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   198k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   198k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   198k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   198k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 198k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   198k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   198k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   198k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   198k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   198k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 198k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  356|   198k|            CHECK_NOTHROW(set_le24(mb, 0));
  ------------------
  |  | 2974|   198k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   198k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   198k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   198k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   198k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   198k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   198k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   198k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   198k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   198k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   198k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   198k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 198k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   198k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   198k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   198k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   198k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   198k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 198k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  357|   198k|        }
  358|   226k|        if (i < 4) {
  ------------------
  |  Branch (358:13): [True: 42.4k, False: 183k]
  ------------------
  359|  42.4k|            CHECK_THROWS(get_ne32(mb));
  ------------------
  |  | 2970|  42.4k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  42.4k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  42.4k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  42.4k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  42.4k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 42.4k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  42.4k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  42.4k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  42.4k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  42.4k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  42.4k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  42.4k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  42.4k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  42.4k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  42.4k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  42.4k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  42.4k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  42.4k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  42.4k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  42.4k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  360|  42.4k|            CHECK_THROWS(get_be32(mb));
  ------------------
  |  | 2970|  42.4k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  42.4k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  42.4k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  42.4k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  42.4k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 42.4k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  42.4k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  42.4k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  42.4k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  42.4k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  42.4k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  42.4k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  42.4k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  42.4k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  42.4k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  42.4k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  42.4k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  42.4k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  42.4k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  42.4k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  361|  42.4k|            CHECK_THROWS(get_le32(mb));
  ------------------
  |  | 2970|  42.4k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  42.4k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  42.4k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  42.4k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  42.4k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 42.4k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  42.4k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  42.4k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  42.4k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  42.4k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  42.4k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  42.4k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  42.4k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  42.4k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  42.4k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  42.4k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  42.4k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  42.4k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  42.4k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  42.4k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  362|  42.4k|            CHECK_THROWS(set_ne32(mb, 0));
  ------------------
  |  | 2970|  42.4k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  42.4k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  42.4k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  42.4k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  42.4k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 42.4k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  42.4k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  42.4k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  42.4k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  42.4k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  42.4k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  42.4k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  42.4k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  42.4k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  42.4k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  42.4k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  42.4k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  42.4k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  42.4k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  42.4k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  363|  42.4k|            CHECK_THROWS(set_be32(mb, 0));
  ------------------
  |  | 2970|  42.4k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  42.4k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  42.4k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  42.4k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  42.4k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 42.4k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  42.4k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  42.4k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  42.4k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  42.4k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  42.4k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  42.4k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  42.4k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  42.4k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  42.4k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  42.4k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  42.4k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  42.4k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  42.4k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  42.4k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  364|  42.4k|            CHECK_THROWS(set_le32(mb, 0));
  ------------------
  |  | 2970|  42.4k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  42.4k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  42.4k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  42.4k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  42.4k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 42.4k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  42.4k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  42.4k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  42.4k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  42.4k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  42.4k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  42.4k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  42.4k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  42.4k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  42.4k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  42.4k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  42.4k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  42.4k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  42.4k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  42.4k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  365|   183k|        } else {
  366|   183k|            CHECK_NOTHROW(get_ne32(mb));
  ------------------
  |  | 2974|   183k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   183k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   183k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   183k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   183k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   183k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   183k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   183k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   183k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   183k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   183k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   183k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   183k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   183k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   183k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   183k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   183k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  367|   183k|            CHECK_NOTHROW(get_be32(mb));
  ------------------
  |  | 2974|   183k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   183k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   183k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   183k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   183k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   183k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   183k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   183k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   183k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   183k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   183k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   183k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   183k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   183k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   183k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   183k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   183k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  368|   183k|            CHECK_NOTHROW(get_le32(mb));
  ------------------
  |  | 2974|   183k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   183k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   183k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   183k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   183k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   183k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   183k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   183k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   183k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   183k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   183k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   183k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   183k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   183k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   183k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   183k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   183k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  369|   183k|            CHECK_NOTHROW(set_ne32(mb, 0));
  ------------------
  |  | 2974|   183k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   183k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   183k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   183k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   183k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   183k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   183k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   183k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   183k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   183k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   183k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   183k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   183k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   183k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   183k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   183k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   183k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  370|   183k|            CHECK_NOTHROW(set_be32(mb, 0));
  ------------------
  |  | 2974|   183k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   183k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   183k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   183k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   183k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   183k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   183k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   183k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   183k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   183k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   183k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   183k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   183k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   183k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   183k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   183k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   183k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  371|   183k|            CHECK_NOTHROW(set_le32(mb, 0));
  ------------------
  |  | 2974|   183k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   183k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   183k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   183k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   183k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   183k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   183k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   183k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   183k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   183k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   183k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   183k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   183k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   183k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   183k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   183k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   183k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  372|   183k|        }
  373|   226k|        if (i < 8) {
  ------------------
  |  Branch (373:13): [True: 99.0k, False: 127k]
  ------------------
  374|  99.0k|            CHECK_THROWS(get_ne64(mb));
  ------------------
  |  | 2970|  99.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  99.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  99.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  99.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  99.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 99.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  99.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  99.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  99.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  99.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  99.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  99.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  99.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  99.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  99.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  99.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  99.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  99.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  99.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  99.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  375|  99.0k|            CHECK_THROWS(get_be64(mb));
  ------------------
  |  | 2970|  99.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  99.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  99.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  99.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  99.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 99.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  99.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  99.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  99.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  99.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  99.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  99.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  99.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  99.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  99.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  99.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  99.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  99.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  99.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  99.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  376|  99.0k|            CHECK_THROWS(get_le64(mb));
  ------------------
  |  | 2970|  99.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  99.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  99.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  99.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  99.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 99.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  99.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  99.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  99.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  99.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  99.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  99.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  99.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  99.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  99.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  99.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  99.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  99.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  99.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  99.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  377|  99.0k|            CHECK_THROWS(set_ne64(mb, 0));
  ------------------
  |  | 2970|  99.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  99.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  99.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  99.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  99.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 99.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  99.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  99.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  99.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  99.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  99.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  99.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  99.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  99.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  99.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  99.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  99.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  99.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  99.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  99.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  378|  99.0k|            CHECK_THROWS(set_be64(mb, 0));
  ------------------
  |  | 2970|  99.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  99.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  99.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  99.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  99.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 99.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  99.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  99.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  99.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  99.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  99.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  99.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  99.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  99.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  99.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  99.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  99.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  99.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  99.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  99.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  379|  99.0k|            CHECK_THROWS(set_le64(mb, 0));
  ------------------
  |  | 2970|  99.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  99.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  99.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  99.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  99.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 99.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  99.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  99.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  99.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  99.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  99.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  99.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  99.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  99.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  99.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  99.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  99.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  99.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  99.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  99.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  380|   127k|        } else {
  381|   127k|            CHECK_NOTHROW(get_ne64(mb));
  ------------------
  |  | 2974|   127k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   127k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   127k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   127k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   127k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   127k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   127k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   127k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   127k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   127k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   127k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   127k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   127k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   127k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   127k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   127k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   127k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  382|   127k|            CHECK_NOTHROW(get_be64(mb));
  ------------------
  |  | 2974|   127k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   127k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   127k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   127k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   127k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   127k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   127k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   127k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   127k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   127k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   127k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   127k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   127k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   127k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   127k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   127k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   127k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  383|   127k|            CHECK_NOTHROW(get_le64(mb));
  ------------------
  |  | 2974|   127k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   127k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   127k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   127k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   127k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   127k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   127k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   127k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   127k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   127k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   127k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   127k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   127k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   127k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   127k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   127k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   127k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  384|   127k|            CHECK_NOTHROW(set_ne64(mb, 0));
  ------------------
  |  | 2974|   127k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   127k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   127k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   127k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   127k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   127k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   127k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   127k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   127k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   127k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   127k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   127k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   127k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   127k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   127k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   127k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   127k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  385|   127k|            CHECK_NOTHROW(set_be64(mb, 0));
  ------------------
  |  | 2974|   127k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   127k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   127k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   127k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   127k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   127k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   127k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   127k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   127k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   127k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   127k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   127k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   127k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   127k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   127k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   127k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   127k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  386|   127k|            CHECK_NOTHROW(set_le64(mb, 0));
  ------------------
  |  | 2974|   127k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   127k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   127k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   127k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   127k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   127k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   127k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   127k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   127k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   127k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   127k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   127k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   127k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   127k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   127k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   127k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   127k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  387|   127k|        }
  388|       |
  389|   226k|        CHECK_NOTHROW(mb.subref("", 0, 0));
  ------------------
  |  | 2974|   226k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   226k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   226k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   226k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   226k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   226k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   226k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   226k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   226k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   226k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  390|   226k|        CHECK_NOTHROW(mb.subref("", 0, i));
  ------------------
  |  | 2974|   226k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   226k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   226k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   226k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   226k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   226k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   226k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   226k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   226k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   226k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  391|   226k|        CHECK_NOTHROW(mb.subref("", i, 0));
  ------------------
  |  | 2974|   226k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   226k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   226k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   226k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   226k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   226k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   226k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   226k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   226k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   226k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  392|   226k|        CHECK_NOTHROW(mb.subref("", i - 1, 1));
  ------------------
  |  | 2974|   226k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   226k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   226k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   226k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   226k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   226k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   226k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   226k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   226k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   226k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  393|   226k|        CHECK_THROWS(mb.subref("", 0, i + 1));
  ------------------
  |  | 2970|   226k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   226k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   226k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 226k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   226k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   226k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   226k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   226k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   226k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   226k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   226k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   226k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   226k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  394|   226k|        CHECK_THROWS(mb.subref("", i + 1, 0));
  ------------------
  |  | 2970|   226k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   226k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   226k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 226k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   226k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   226k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   226k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   226k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   226k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   226k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   226k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   226k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   226k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  395|   226k|        CHECK_THROWS(mb.subref("", i, 1));
  ------------------
  |  | 2970|   226k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   226k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   226k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 226k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   226k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   226k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   226k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   226k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   226k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   226k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   226k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   226k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   226k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  396|   226k|        CHECK_THROWS(mb.subref("", (size_t) -1, 0));
  ------------------
  |  | 2970|   226k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   226k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   226k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 226k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   226k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   226k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   226k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   226k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   226k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   226k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   226k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   226k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   226k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  397|   226k|        CHECK_THROWS(mb.subref("", (size_t) -1, i));
  ------------------
  |  | 2970|   226k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   226k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   226k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 226k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   226k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   226k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   226k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   226k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   226k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   226k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   226k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   226k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   226k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  398|       |
  399|   226k|#if DEBUG || !(ACC_CC_CLANG && __PPC64__ && ACC_ABI_BIG_ENDIAN) || 0
  400|       |        // @COMPILER_BUG @CLANG_BUG
  401|   226k|        if (i < 2) {
  ------------------
  |  Branch (401:13): [True: 14.1k, False: 212k]
  ------------------
  402|  14.1k|            CHECK_THROWS(mb.subref("", 0, sizeof(NE16)));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  403|  14.1k|            CHECK_THROWS(mb.subref("", 0, sizeof(BE16)));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  404|  14.1k|            CHECK_THROWS(mb.subref("", 0, sizeof(LE16)));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  405|   212k|        } else {
  406|   212k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(NE16)));
  ------------------
  |  | 2974|   212k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   212k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   212k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   212k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   212k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   212k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   212k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   212k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   212k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   212k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   212k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   212k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   212k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   212k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   212k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   212k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   212k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  407|   212k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(BE16)));
  ------------------
  |  | 2974|   212k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   212k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   212k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   212k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   212k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   212k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   212k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   212k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   212k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   212k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   212k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   212k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   212k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   212k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   212k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   212k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   212k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  408|   212k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(LE16)));
  ------------------
  |  | 2974|   212k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   212k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   212k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   212k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   212k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   212k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   212k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   212k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   212k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   212k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   212k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   212k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   212k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   212k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   212k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   212k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   212k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  409|   212k|        }
  410|   226k|        if (i < 4) {
  ------------------
  |  Branch (410:13): [True: 42.4k, False: 183k]
  ------------------
  411|  42.4k|            CHECK_THROWS(mb.subref("", 0, sizeof(NE32)));
  ------------------
  |  | 2970|  42.4k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  42.4k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  42.4k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  42.4k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  42.4k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 42.4k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  42.4k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  42.4k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  42.4k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  42.4k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  42.4k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  42.4k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  42.4k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  42.4k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  42.4k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  42.4k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  42.4k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  42.4k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  42.4k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  42.4k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  412|  42.4k|            CHECK_THROWS(mb.subref("", 0, sizeof(BE32)));
  ------------------
  |  | 2970|  42.4k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  42.4k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  42.4k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  42.4k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  42.4k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 42.4k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  42.4k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  42.4k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  42.4k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  42.4k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  42.4k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  42.4k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  42.4k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  42.4k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  42.4k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  42.4k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  42.4k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  42.4k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  42.4k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  42.4k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  413|  42.4k|            CHECK_THROWS(mb.subref("", 0, sizeof(LE32)));
  ------------------
  |  | 2970|  42.4k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  42.4k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  42.4k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  42.4k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  42.4k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 42.4k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  42.4k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  42.4k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  42.4k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  42.4k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  42.4k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  42.4k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  42.4k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  42.4k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  42.4k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  42.4k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  42.4k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  42.4k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  42.4k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  42.4k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  414|   183k|        } else {
  415|   183k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(NE32)));
  ------------------
  |  | 2974|   183k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   183k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   183k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   183k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   183k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   183k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   183k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   183k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   183k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   183k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   183k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   183k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   183k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   183k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   183k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   183k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   183k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  416|   183k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(BE32)));
  ------------------
  |  | 2974|   183k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   183k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   183k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   183k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   183k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   183k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   183k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   183k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   183k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   183k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   183k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   183k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   183k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   183k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   183k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   183k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   183k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  417|   183k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(LE32)));
  ------------------
  |  | 2974|   183k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   183k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   183k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   183k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   183k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   183k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   183k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   183k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   183k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   183k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   183k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   183k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   183k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   183k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   183k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   183k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   183k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  418|   183k|        }
  419|   226k|        if (i < 8) {
  ------------------
  |  Branch (419:13): [True: 99.0k, False: 127k]
  ------------------
  420|  99.0k|            CHECK_THROWS(mb.subref("", 0, sizeof(NE64)));
  ------------------
  |  | 2970|  99.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  99.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  99.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  99.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  99.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 99.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  99.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  99.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  99.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  99.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  99.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  99.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  99.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  99.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  99.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  99.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  99.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  99.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  99.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  99.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  421|  99.0k|            CHECK_THROWS(mb.subref("", 0, sizeof(BE64)));
  ------------------
  |  | 2970|  99.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  99.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  99.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  99.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  99.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 99.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  99.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  99.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  99.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  99.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  99.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  99.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  99.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  99.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  99.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  99.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  99.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  99.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  99.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  99.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  422|  99.0k|            CHECK_THROWS(mb.subref("", 0, sizeof(LE64)));
  ------------------
  |  | 2970|  99.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  99.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  99.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  99.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  99.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 99.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  99.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  99.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  99.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  99.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  99.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  99.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  99.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  99.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  99.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  99.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  99.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  99.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  99.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  99.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  423|   127k|        } else {
  424|   127k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(NE64)));
  ------------------
  |  | 2974|   127k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   127k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   127k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   127k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   127k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   127k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   127k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   127k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   127k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   127k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   127k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   127k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   127k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   127k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   127k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   127k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   127k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  425|   127k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(BE64)));
  ------------------
  |  | 2974|   127k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   127k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   127k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   127k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   127k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   127k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   127k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   127k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   127k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   127k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   127k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   127k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   127k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   127k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   127k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   127k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   127k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  426|   127k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(LE64)));
  ------------------
  |  | 2974|   127k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   127k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   127k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   127k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   127k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   127k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   127k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   127k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   127k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   127k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   127k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   127k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   127k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   127k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   127k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   127k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   127k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  427|   127k|        }
  428|       |
  429|   226k|        CHECK_NOTHROW(mb.subref_u<byte *>("", 0));
  ------------------
  |  | 2974|   226k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   226k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   226k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   226k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   226k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   226k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   226k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   226k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   226k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   226k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  430|   226k|        CHECK_NOTHROW(mb.subref_u<byte *>("", i - 1));
  ------------------
  |  | 2974|   226k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   226k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   226k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   226k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   226k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   226k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   226k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   226k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   226k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   226k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  431|   226k|        CHECK_THROWS(mb.subref_u<byte *>("", i));
  ------------------
  |  | 2970|   226k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   226k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   226k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 226k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   226k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   226k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   226k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   226k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   226k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   226k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   226k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   226k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   226k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  432|   226k|        CHECK_THROWS(mb.subref_u<byte *>("", (size_t) -1));
  ------------------
  |  | 2970|   226k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   226k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   226k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 226k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   226k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   226k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   226k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   226k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   226k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   226k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   226k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   226k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|   226k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  433|       |
  434|   226k|        if (i < 2) {
  ------------------
  |  Branch (434:13): [True: 14.1k, False: 212k]
  ------------------
  435|  14.1k|            CHECK_THROWS(mb.subref_u<NE16 *>("", 0));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  436|  14.1k|            CHECK_THROWS(mb.subref_u<BE16 *>("", 0));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  437|  14.1k|            CHECK_THROWS(mb.subref_u<LE16 *>("", 0));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  438|   212k|        } else {
  439|   212k|            CHECK_NOTHROW(mb.subref_u<NE16 *>("", 0));
  ------------------
  |  | 2974|   212k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   212k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   212k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   212k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   212k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   212k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   212k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   212k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   212k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   212k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   212k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   212k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   212k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   212k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   212k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   212k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   212k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  440|   212k|            CHECK_NOTHROW(mb.subref_u<BE16 *>("", 0));
  ------------------
  |  | 2974|   212k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   212k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   212k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   212k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   212k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   212k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   212k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   212k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   212k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   212k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   212k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   212k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   212k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   212k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   212k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   212k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   212k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  441|   212k|            CHECK_NOTHROW(mb.subref_u<LE16 *>("", 0));
  ------------------
  |  | 2974|   212k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   212k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   212k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   212k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   212k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   212k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   212k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   212k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   212k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   212k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   212k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   212k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   212k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   212k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   212k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   212k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   212k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 212k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  442|   212k|        }
  443|   226k|        if (i < 4) {
  ------------------
  |  Branch (443:13): [True: 42.4k, False: 183k]
  ------------------
  444|  42.4k|            CHECK_THROWS(mb.subref_u<NE32 *>("", 0));
  ------------------
  |  | 2970|  42.4k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  42.4k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  42.4k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  42.4k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  42.4k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 42.4k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  42.4k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  42.4k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  42.4k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  42.4k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  42.4k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  42.4k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  42.4k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  42.4k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  42.4k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  42.4k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  42.4k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  42.4k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  42.4k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  42.4k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  445|  42.4k|            CHECK_THROWS(mb.subref_u<BE32 *>("", 0));
  ------------------
  |  | 2970|  42.4k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  42.4k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  42.4k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  42.4k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  42.4k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 42.4k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  42.4k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  42.4k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  42.4k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  42.4k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  42.4k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  42.4k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  42.4k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  42.4k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  42.4k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  42.4k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  42.4k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  42.4k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  42.4k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  42.4k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  446|  42.4k|            CHECK_THROWS(mb.subref_u<LE32 *>("", 0));
  ------------------
  |  | 2970|  42.4k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  42.4k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  42.4k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  42.4k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  42.4k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 42.4k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  42.4k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  42.4k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  42.4k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  42.4k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  42.4k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  42.4k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  42.4k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  42.4k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  42.4k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  42.4k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  42.4k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  42.4k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  42.4k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  42.4k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 42.4k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  447|   183k|        } else {
  448|   183k|            CHECK_NOTHROW(mb.subref_u<NE32 *>("", 0));
  ------------------
  |  | 2974|   183k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   183k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   183k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   183k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   183k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   183k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   183k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   183k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   183k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   183k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   183k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   183k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   183k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   183k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   183k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   183k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   183k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  449|   183k|            CHECK_NOTHROW(mb.subref_u<BE32 *>("", 0));
  ------------------
  |  | 2974|   183k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   183k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   183k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   183k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   183k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   183k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   183k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   183k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   183k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   183k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   183k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   183k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   183k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   183k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   183k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   183k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   183k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  450|   183k|            CHECK_NOTHROW(mb.subref_u<LE32 *>("", 0));
  ------------------
  |  | 2974|   183k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   183k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   183k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   183k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   183k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   183k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   183k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   183k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   183k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   183k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   183k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   183k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   183k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   183k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   183k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   183k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   183k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 183k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  451|   183k|        }
  452|   226k|        if (i < 8) {
  ------------------
  |  Branch (452:13): [True: 99.0k, False: 127k]
  ------------------
  453|  99.0k|            CHECK_THROWS(mb.subref_u<NE64 *>("", 0));
  ------------------
  |  | 2970|  99.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  99.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  99.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  99.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  99.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 99.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  99.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  99.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  99.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  99.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  99.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  99.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  99.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  99.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  99.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  99.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  99.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  99.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  99.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  99.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  454|  99.0k|            CHECK_THROWS(mb.subref_u<BE64 *>("", 0));
  ------------------
  |  | 2970|  99.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  99.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  99.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  99.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  99.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 99.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  99.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  99.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  99.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  99.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  99.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  99.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  99.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  99.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  99.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  99.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  99.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  99.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  99.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  99.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  455|  99.0k|            CHECK_THROWS(mb.subref_u<LE64 *>("", 0));
  ------------------
  |  | 2970|  99.0k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  99.0k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  99.0k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  99.0k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  99.0k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 99.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  99.0k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  99.0k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  99.0k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  99.0k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  99.0k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  99.0k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  99.0k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  99.0k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  99.0k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  99.0k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  99.0k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  99.0k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  99.0k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  99.0k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 99.0k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  456|   127k|        } else {
  457|   127k|            CHECK_NOTHROW(mb.subref_u<NE64 *>("", 0));
  ------------------
  |  | 2974|   127k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   127k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   127k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   127k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   127k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   127k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   127k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   127k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   127k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   127k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   127k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   127k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   127k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   127k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   127k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   127k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   127k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  458|   127k|            CHECK_NOTHROW(mb.subref_u<BE64 *>("", 0));
  ------------------
  |  | 2974|   127k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   127k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   127k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   127k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   127k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   127k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   127k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   127k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   127k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   127k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   127k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   127k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   127k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   127k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   127k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   127k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   127k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  459|   127k|            CHECK_NOTHROW(mb.subref_u<LE64 *>("", 0));
  ------------------
  |  | 2974|   127k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   127k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   127k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   127k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   127k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   127k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   127k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   127k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   127k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   127k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   127k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   127k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   127k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   127k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   127k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   127k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   127k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  460|   127k|        }
  461|   226k|#endif
  462|   226k|    }
  463|  14.1k|}
membuffer.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
  465|  14.1k|TEST_CASE("MemBuffer array access") {
  466|  14.1k|    constexpr size_t N = 16;
  467|  14.1k|    MemBuffer mb(N);
  468|  14.1k|    mb.clear();
  469|   240k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (469:24): [True: 226k, False: 14.1k]
  ------------------
  470|   226k|        mb[i] += 1;
  471|   240k|    for (byte *ptr = mb; ptr != mb + N; ++ptr)
  ------------------
  |  Branch (471:26): [True: 226k, False: 14.1k]
  ------------------
  472|   226k|        *ptr += 1;
  473|   240k|    for (byte *ptr = mb + 0; ptr < mb + N; ++ptr)
  ------------------
  |  Branch (473:30): [True: 226k, False: 14.1k]
  ------------------
  474|   226k|        *ptr += 1;
  475|   240k|    for (byte *ptr = &mb[0]; ptr != mb.end(); ++ptr)
  ------------------
  |  Branch (475:30): [True: 226k, False: 14.1k]
  ------------------
  476|   226k|        *ptr += 1;
  477|   240k|    for (byte *ptr = mb.begin(); ptr < mb.end(); ++ptr)
  ------------------
  |  Branch (477:34): [True: 226k, False: 14.1k]
  ------------------
  478|   226k|        *ptr += 1;
  479|   240k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (479:24): [True: 226k, False: 14.1k]
  ------------------
  480|   226k|        assert(mb[i] == 5);
  ------------------
  |  |  493|   226k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 226k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  14.1k|    CHECK_NOTHROW((void) &mb[N - 1]);
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  482|  14.1k|    CHECK_THROWS((void) &mb[N]); // NOT legal for containers like std::vector or MemBuffer
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  483|  14.1k|}
membuffer.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
  485|  14.1k|TEST_CASE("MemBuffer::getSizeForCompression") {
  486|  14.1k|    CHECK_THROWS(MemBuffer::getSizeForCompression(0));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  487|  14.1k|    CHECK_THROWS(MemBuffer::getSizeForDecompression(0));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  488|  14.1k|    CHECK(MemBuffer::getSizeForCompression(1) == 513);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  489|  14.1k|    CHECK(MemBuffer::getSizeForCompression(256) == 800);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  490|  14.1k|    CHECK(MemBuffer::getSizeForCompression(1024) == 1664);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  491|  14.1k|    CHECK(MemBuffer::getSizeForCompression(1024 * 1024) == 1180160);         // 0x00100000
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  492|  14.1k|    CHECK(MemBuffer::getSizeForCompression(64 * 1024 * 1024) == 75497984);   // 0x04000000
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  493|  14.1k|    CHECK(MemBuffer::getSizeForCompression(512 * 1024 * 1024) == 603980288); // 0x20000000
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  494|  14.1k|    CHECK(MemBuffer::getSizeForCompression(640 * 1024 * 1024) == 754975232); // 0x28000000
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  495|       |    // "682 MiB Ought to be Enough for Anyone" --Markus F.X.J. Oberhumer, 2023 ;-)
  496|  14.1k|    CHECK(MemBuffer::getSizeForCompression(682 * 1024 * 1024) == 804520448); // 0x2aa00000
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  497|  14.1k|    CHECK(MemBuffer::getSizeForCompression(715827428) == UPX_RSIZE_MAX);     // 0x2aaaa8e4
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  498|  14.1k|    CHECK_THROWS(MemBuffer::getSizeForCompression(715827428 + 1));           // 0x2aaaa8e4 + 1
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  499|  14.1k|}

_ZN9MemBufferC2Ev:
  190|  2.71M|    explicit inline MemBuffer() noexcept : MemBufferBase<byte>() {}
_ZN9MemBuffer10getVoidPtrEv:
  206|   163k|    void *getVoidPtr() noexcept { return (void *) ptr; }
_ZNK9MemBuffer14getSizeInBytesEv:
  208|   125k|    unsigned getSizeInBytes() const noexcept { return size_in_bytes; }
_ZNK9MemBuffer7getSizeEv:
  209|  61.4k|    unsigned getSize() const noexcept { return size_in_bytes / element_size; }
_ZN9MemBuffer5clearEmm:
  213|      2|    forceinline void clear(size_t off, size_t bytes) may_throw { fill(off, bytes, 0); }
_ZN9MemBuffer5clearEv:
  214|   273k|    forceinline void clear() may_throw { fill(0, size_in_bytes, 0); }
_ZN9MemBuffer6subrefEPKcmm:
  220|  4.13M|    forceinline pointer subref(const char *errfmt, size_t skip, size_t take) may_throw {
  221|  4.13M|        return (pointer) subref_impl(errfmt, skip, take);
  222|  4.13M|    }
_ZNK13MemBufferBaseIhEplIjEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|  97.4k|        may_throw {
   98|  97.4k|        size_t bytes = mem_size(element_size, n); // check mem_size
   99|  97.4k|        return raw_bytes(bytes) + n;              // and check bytes
  100|  97.4k|    }
_ZNK13MemBufferBaseIhE9raw_bytesEm:
  111|  6.37M|    pointer raw_bytes(size_t bytes) const may_throw {
  112|  6.37M|        if (bytes > 0) {
  ------------------
  |  Branch (112:13): [True: 6.27M, False: 99.5k]
  ------------------
  113|  6.27M|            if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|  6.27M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  6.27M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  6.27M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.1k, False: 6.26M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  114|  14.1k|                throwCantPack("MemBuffer raw_bytes unexpected NULL ptr");
  115|  6.26M|            if very_unlikely (bytes > size_in_bytes)
  ------------------
  |  |  245|  6.26M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  6.26M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  6.26M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 1.20M, False: 5.05M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  116|  1.20M|                throwCantPack("MemBuffer raw_bytes invalid size");
  117|  6.26M|        }
  118|  5.15M|        return ptr;
  119|  6.37M|    }
_ZNK13MemBufferBaseIhE7raw_ptrEv:
  108|  14.1k|    pointer raw_ptr() const noexcept { return ptr; }
_Z9raw_bytesIhEN13MemBufferBaseIT_E7pointerERKS2_m:
  149|  84.8k|                                                    size_t size_in_bytes) {
  150|  84.8k|    return mbb.raw_bytes(size_in_bytes);
  151|  84.8k|}
_ZN13MemBufferBaseIhEC2Ev:
   54|  3.02M|    explicit inline MemBufferBase() noexcept : ptr(nullptr), size_in_bytes(0) {}
_ZN13MemBufferBaseIhED2Ev:
   55|  3.02M|    forceinline ~MemBufferBase() noexcept {}
_ZNK13MemBufferBaseIhEcvPhEv:
   59|  37.9k|    operator pointer() const noexcept { return ptr; }
_ZNK13MemBufferBaseIhEplIxEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|    610|        may_throw {
   98|    610|        size_t bytes = mem_size(element_size, n); // check mem_size
   99|    610|        return raw_bytes(bytes) + n;              // and check bytes
  100|    610|    }
_ZNK13MemBufferBaseIhEplIiEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|   127k|        may_throw {
   98|   127k|        size_t bytes = mem_size(element_size, n); // check mem_size
   99|   127k|        return raw_bytes(bytes) + n;              // and check bytes
  100|   127k|    }
_ZNK13MemBufferBaseIhEixEl:
   62|  1.45M|    reference operator[](ptrdiff_t i) const may_throw {
   63|       |        // NOTE: &array[SIZE] is *not* legal for containers like std::vector and MemBuffer !
   64|  1.45M|        if very_unlikely (i < 0 || mem_size(element_size, i) >= size_in_bytes)
  ------------------
  |  |  245|  1.45M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  1.45M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  2.90M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.1k, False: 1.43M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 2, False: 1.45M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 14.2k, False: 1.43M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   65|  14.1k|            throwCantPack("MemBuffer invalid array index %td (%zu bytes)", i, size_in_bytes);
   66|  1.43M|        return ptr[i];
   67|  1.45M|    }
_ZplIhjENSt3__19enable_ifIXsr3std11is_integralIT0_EE5valueEN13MemBufferBaseIT_E7pointerEE4typeES2_RKS5_:
  136|  13.7k|operator+(U n, const MemBufferBase<T> &mbb) {
  137|  13.7k|    return mbb + n;
  138|  13.7k|}
_ZplIhyENSt3__19enable_ifIXsr3std11is_integralIT0_EE5valueEN13MemBufferBaseIT_E7pointerEE4typeES2_RKS5_:
  136|  7.09k|operator+(U n, const MemBufferBase<T> &mbb) {
  137|  7.09k|    return mbb + n;
  138|  7.09k|}
_ZNK13MemBufferBaseIhEplIyEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|  7.09k|        may_throw {
   98|  7.09k|        size_t bytes = mem_size(element_size, n); // check mem_size
   99|  7.09k|        return raw_bytes(bytes) + n;              // and check bytes
  100|  7.09k|    }
_ZplIhxENSt3__19enable_ifIXsr3std11is_integralIT0_EE5valueEN13MemBufferBaseIT_E7pointerEE4typeES2_RKS5_:
  136|    610|operator+(U n, const MemBufferBase<T> &mbb) {
  137|    610|    return mbb + n;
  138|    610|}
_ZNK13MemBufferBaseIhEplImEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|   509k|        may_throw {
   98|   509k|        size_t bytes = mem_size(element_size, n); // check mem_size
   99|   509k|        return raw_bytes(bytes) + n;              // and check bytes
  100|   509k|    }
_ZNK13MemBufferBaseIhE17raw_size_in_bytesEv:
  109|  14.1k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK13MemBufferBaseIhE5beginEv:
   73|  56.5k|    iterator begin() const may_throw {
   74|  56.5k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|  56.5k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  56.5k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  56.5k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.1k, False: 42.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   75|  14.1k|            throwCantPack("MemBuffer begin() unexpected NULL ptr");
   76|  42.4k|        return ptr;
   77|  56.5k|    }
_ZNK13MemBufferBaseIhE3endEv:
   83|   523k|    iterator end() const may_throw {
   84|   523k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|   523k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   523k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   523k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.1k, False: 509k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   85|  14.1k|            throwCantPack("MemBuffer end() unexpected NULL ptr");
   86|   509k|        return ptr + size_in_bytes / element_size;
   87|   523k|    }
_ZNK13MemBufferBaseIhE6cbeginEv:
   78|  42.4k|    const_iterator cbegin() const may_throw {
   79|  42.4k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|  42.4k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  42.4k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  42.4k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.1k, False: 28.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|  14.1k|            throwCantPack("MemBuffer cbegin() unexpected NULL ptr");
   81|  28.2k|        return ptr;
   82|  42.4k|    }
_ZNK13MemBufferBaseIhE4cendEv:
   88|  42.4k|    const_iterator cend() const may_throw {
   89|  42.4k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|  42.4k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  42.4k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  42.4k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.1k, False: 28.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   90|  14.1k|            throwCantPack("MemBuffer cend() unexpected NULL ptr");
   91|  28.2k|        return ptr + size_in_bytes / element_size;
   92|  42.4k|    }
_ZN9MemBuffer8subref_uIPhEET_PKcm:
  224|   905k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   905k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  247|   905k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   905k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   905k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   905k|    }
_ZN9MemBuffer8subref_uIP4LE16EET_PKcm:
  224|   452k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   452k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  247|   452k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   452k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   452k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   452k|    }
_ZN9MemBuffer8subref_uIP4BE16EET_PKcm:
  224|   226k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   226k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  247|   226k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   226k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   226k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   226k|    }
_ZN9MemBuffer8subref_uIP4LE32EET_PKcm:
  224|   452k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   452k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  247|   452k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   452k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   452k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   452k|    }
_ZN9MemBuffer8subref_uIP4BE32EET_PKcm:
  224|   226k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   226k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  247|   226k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   226k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   226k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   226k|    }
_ZN9MemBuffer8subref_uIP4LE64EET_PKcm:
  224|   452k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   452k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  247|   452k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   452k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   452k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   452k|    }
_ZN9MemBuffer8subref_uIP4BE64EET_PKcm:
  224|   226k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   226k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  247|   226k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   226k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   226k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   226k|    }

_Z12acc_vget_intii:
 6371|   169k|{
 6372|   169k|    __ACCLIB_VGET_BODY(int)
  ------------------
  |  | 6357|   169k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|   169k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   169k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 169k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6358|      0|        typedef T __acc_may_alias TT; \
  |  | 6359|      0|        unsigned char e; expr &= 255; e = ACC_STATIC_CAST(unsigned char, expr); \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6360|      0|        * ACC_STATIC_CAST(TT *, acc_vget_ptr__) = v; \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6361|      0|        * ACC_STATIC_CAST(unsigned char *, acc_vget_ptr__) = e; \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6362|      0|        v = * ACC_STATIC_CAST(TT *, acc_vget_ptr__); \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6363|      0|    } \
  |  | 6364|   169k|    return v;
  ------------------
 6373|   169k|}
_Z13acc_vget_longli:
 6375|  42.4k|{
 6376|  42.4k|    __ACCLIB_VGET_BODY(long)
  ------------------
  |  | 6357|  42.4k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|  42.4k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  42.4k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 42.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6358|      0|        typedef T __acc_may_alias TT; \
  |  | 6359|      0|        unsigned char e; expr &= 255; e = ACC_STATIC_CAST(unsigned char, expr); \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6360|      0|        * ACC_STATIC_CAST(TT *, acc_vget_ptr__) = v; \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6361|      0|        * ACC_STATIC_CAST(unsigned char *, acc_vget_ptr__) = e; \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6362|      0|        v = * ACC_STATIC_CAST(TT *, acc_vget_ptr__); \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6363|      0|    } \
  |  | 6364|  42.4k|    return v;
  ------------------
 6377|  42.4k|}
_Z21acc_vget_acc_int64l_txi:
 6380|   127k|{
 6381|   127k|    __ACCLIB_VGET_BODY(acc_int64l_t)
  ------------------
  |  | 6357|   127k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|   127k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   127k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 127k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6358|      0|        typedef T __acc_may_alias TT; \
  |  | 6359|      0|        unsigned char e; expr &= 255; e = ACC_STATIC_CAST(unsigned char, expr); \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6360|      0|        * ACC_STATIC_CAST(TT *, acc_vget_ptr__) = v; \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6361|      0|        * ACC_STATIC_CAST(unsigned char *, acc_vget_ptr__) = e; \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6362|      0|        v = * ACC_STATIC_CAST(TT *, acc_vget_ptr__); \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6363|      0|    } \
  |  | 6364|   127k|    return v;
  ------------------
 6382|   127k|}
_Z20acc_vget_acc_hsize_tmi:
 6385|  28.2k|{
 6386|  28.2k|    __ACCLIB_VGET_BODY(acc_hsize_t)
  ------------------
  |  | 6357|  28.2k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|  28.2k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  28.2k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 28.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6358|      0|        typedef T __acc_may_alias TT; \
  |  | 6359|      0|        unsigned char e; expr &= 255; e = ACC_STATIC_CAST(unsigned char, expr); \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6360|      0|        * ACC_STATIC_CAST(TT *, acc_vget_ptr__) = v; \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6361|      0|        * ACC_STATIC_CAST(unsigned char *, acc_vget_ptr__) = e; \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6362|      0|        v = * ACC_STATIC_CAST(TT *, acc_vget_ptr__); \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6363|      0|    } \
  |  | 6364|  28.2k|    return v;
  ------------------
 6387|  28.2k|}
_Z20acc_vget_acc_hvoid_pPvi:
 6395|  56.5k|{
 6396|  56.5k|    __ACCLIB_VGET_BODY(acc_hvoid_p)
  ------------------
  |  | 6357|  56.5k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|  56.5k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  56.5k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 56.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6358|      0|        typedef T __acc_may_alias TT; \
  |  | 6359|      0|        unsigned char e; expr &= 255; e = ACC_STATIC_CAST(unsigned char, expr); \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6360|      0|        * ACC_STATIC_CAST(TT *, acc_vget_ptr__) = v; \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6361|      0|        * ACC_STATIC_CAST(unsigned char *, acc_vget_ptr__) = e; \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6362|      0|        v = * ACC_STATIC_CAST(TT *, acc_vget_ptr__); \
  |  |  ------------------
  |  |  |  | 1472|      0|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  |  | 6363|      0|    } \
  |  | 6364|  56.5k|    return v;
  ------------------
 6397|  56.5k|}
_Z15acc_getopt_initP12acc_getopt_tiiPPc:
 6762|   127k|{
 6763|   127k|    memset(g, 0, sizeof(*g));
 6764|   127k|    g->optind = start_argc;
 6765|   127k|    g->argc = argc; g->argv = argv;
 6766|   127k|    g->optopt = -1;
 6767|   127k|}
_Z10acc_getoptP12acc_getopt_tPKcPK20acc_getopt_longopt_tPi:
 6801|   410k|{
 6802|   410k|#define pe  __ACCLIB_FUNCNAME(acc_getopt_perror)
 6803|   410k|    int ordering = ACC_GETOPT_PERMUTE;
 6804|   410k|    int missing_arg_ret = g->bad_option;
 6805|   410k|    char *a;
 6806|   410k|    if (shortopts) {
  ------------------
  |  Branch (6806:9): [True: 410k, False: 0]
  ------------------
 6807|   410k|        if (*shortopts == '-' || *shortopts == '+')
  ------------------
  |  Branch (6807:13): [True: 0, False: 410k]
  |  Branch (6807:34): [True: 0, False: 410k]
  ------------------
 6808|      0|            ordering = *shortopts++ == '-' ? ACC_GETOPT_RETURN_IN_ORDER : ACC_GETOPT_REQUIRE_ORDER;
  ------------------
  |  Branch (6808:24): [True: 0, False: 0]
  ------------------
 6809|   410k|        if (*shortopts == ':')
  ------------------
  |  Branch (6809:13): [True: 0, False: 410k]
  ------------------
 6810|      0|            missing_arg_ret = *shortopts++;
 6811|   410k|    }
 6812|   410k|    g->optarg = ACC_nullptr;
  ------------------
  |  |  442|   410k|#  define ACC_nullptr           nullptr
  ------------------
 6813|   410k|    if (g->optopt == -1)
  ------------------
  |  Branch (6813:9): [True: 127k, False: 282k]
  ------------------
 6814|   127k|        g->optopt = g->bad_option;
 6815|   410k|    if (longind)
  ------------------
  |  Branch (6815:9): [True: 410k, False: 0]
  ------------------
 6816|   410k|        *longind = -1;
 6817|   410k|    if (g->eof)
  ------------------
  |  Branch (6817:9): [True: 0, False: 410k]
  ------------------
 6818|      0|        return -1;
 6819|   410k|    if (g->shortpos)
  ------------------
  |  Branch (6819:9): [True: 0, False: 410k]
  ------------------
 6820|      0|        goto acc_label_next_shortopt;
 6821|   410k|    g->optind -= __ACCLIB_FUNCNAME(acc_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind);
  ------------------
  |  | 5069|   410k|#  define __ACCLIB_FUNCNAME(f)  f
  ------------------
 6822|   410k|    g->pending_rotate_first = g->pending_rotate_middle = g->optind;
 6823|   410k|    if (ordering == ACC_GETOPT_PERMUTE) {
  ------------------
  |  Branch (6823:9): [True: 410k, False: 0]
  ------------------
 6824|   438k|        while (g->optind < g->argc && !(g->argv[g->optind][0] == '-' && g->argv[g->optind][1]))
  ------------------
  |  Branch (6824:16): [True: 311k, False: 127k]
  |  Branch (6824:41): [True: 282k, False: 28.2k]
  |  Branch (6824:73): [True: 282k, False: 0]
  ------------------
 6825|  28.2k|            ++g->optind;
 6826|   410k|        g->pending_rotate_middle = g->optind;
 6827|   410k|    }
 6828|   410k|    if (g->optind >= g->argc) {
  ------------------
  |  Branch (6828:9): [True: 127k, False: 282k]
  ------------------
 6829|   127k|        g->optind = g->pending_rotate_first;
 6830|   127k|        goto acc_label_eof;
 6831|   127k|    }
 6832|   282k|    a = g->argv[g->optind];
 6833|   282k|    if (a[0] == '-' && a[1] == '-') {
  ------------------
  |  Branch (6833:9): [True: 282k, False: 0]
  |  Branch (6833:24): [True: 254k, False: 28.2k]
  ------------------
 6834|   254k|        size_t l = 0;
 6835|   254k|        const acc_getopt_longopt_p o;
 6836|   254k|        const acc_getopt_longopt_p o1 = ACC_nullptr;
  ------------------
  |  |  442|   254k|#  define ACC_nullptr           nullptr
  ------------------
 6837|   254k|        const acc_getopt_longopt_p o2 = ACC_nullptr;
  ------------------
  |  |  442|   254k|#  define ACC_nullptr           nullptr
  ------------------
 6838|   254k|        int need_exact = 0;
 6839|   254k|        ++g->optind;
 6840|   254k|        if (!a[2])
  ------------------
  |  Branch (6840:13): [True: 0, False: 254k]
  ------------------
 6841|      0|            goto acc_label_eof;
 6842|  1.61M|        for (a += 2; a[l] && a[l] != '=' && a[l] != '#'; )
  ------------------
  |  Branch (6842:22): [True: 1.35M, False: 254k]
  |  Branch (6842:30): [True: 1.35M, False: 0]
  |  Branch (6842:45): [True: 1.35M, False: 0]
  ------------------
 6843|  1.35M|            ++l;
 6844|  9.76M|        for (o = longopts; l && o && o->name; ++o) {
  ------------------
  |  Branch (6844:28): [True: 9.76M, False: 0]
  |  Branch (6844:33): [True: 9.76M, False: 0]
  |  Branch (6844:38): [True: 9.76M, False: 0]
  ------------------
 6845|  9.76M|            if (strncmp(a, o->name, l) != 0)
  ------------------
  |  Branch (6845:17): [True: 9.50M, False: 254k]
  ------------------
 6846|  9.50M|                continue;
 6847|   254k|            if (!o->name[l])
  ------------------
  |  Branch (6847:17): [True: 254k, False: 0]
  ------------------
 6848|   254k|                goto acc_label_found_o;
 6849|      0|            if ((o->has_arg & (ACC_GETOPT_EXACT_ARG | 0x80)) == (ACC_GETOPT_EXACT_ARG | 0x80))
  ------------------
  |  Branch (6849:17): [True: 0, False: 0]
  ------------------
 6850|      0|                continue;
 6851|      0|            need_exact |= o->has_arg & ACC_GETOPT_EXACT_ARG;
 6852|      0|            if (o1) o2 = o;
  ------------------
  |  Branch (6852:17): [True: 0, False: 0]
  ------------------
 6853|      0|            else    o1 = o;
 6854|      0|        }
 6855|      0|        if (!o1 || need_exact)
  ------------------
  |  Branch (6855:13): [True: 0, False: 0]
  |  Branch (6855:20): [True: 0, False: 0]
  ------------------
 6856|      0|            return pe(g, g->bad_option, "unrecognized option '--%s'", a);
  ------------------
  |  | 6802|      0|#define pe  __ACCLIB_FUNCNAME(acc_getopt_perror)
  |  |  ------------------
  |  |  |  | 5069|      0|#  define __ACCLIB_FUNCNAME(f)  f
  |  |  ------------------
  ------------------
 6857|      0|        if (o2)
  ------------------
  |  Branch (6857:13): [True: 0, False: 0]
  ------------------
 6858|      0|            return pe(g, g->bad_option, "option '--%s' is ambiguous (could be '--%s' or '--%s')", a, o1->name, o2->name);
  ------------------
  |  | 6802|      0|#define pe  __ACCLIB_FUNCNAME(acc_getopt_perror)
  |  |  ------------------
  |  |  |  | 5069|      0|#  define __ACCLIB_FUNCNAME(f)  f
  |  |  ------------------
  ------------------
 6859|      0|        o = o1;
 6860|   254k|    acc_label_found_o:
 6861|   254k|        a += l;
 6862|   254k|        switch (o->has_arg & 0x2f) {
 6863|      0|        case ACC_GETOPT_OPTIONAL_ARG:
  ------------------
  |  Branch (6863:9): [True: 0, False: 254k]
  ------------------
 6864|      0|            if (a[0])
  ------------------
  |  Branch (6864:17): [True: 0, False: 0]
  ------------------
 6865|      0|                g->optarg = a + 1;
 6866|      0|            break;
 6867|      0|        case ACC_GETOPT_REQUIRED_ARG:
  ------------------
  |  Branch (6867:9): [True: 0, False: 254k]
  ------------------
 6868|      0|            if (a[0])
  ------------------
  |  Branch (6868:17): [True: 0, False: 0]
  ------------------
 6869|      0|                g->optarg = a + 1;
 6870|      0|            else if (g->optind < g->argc)
  ------------------
  |  Branch (6870:22): [True: 0, False: 0]
  ------------------
 6871|      0|                g->optarg = g->argv[g->optind++];
 6872|      0|            if (!g->optarg || (!g->optarg[0] && (o->has_arg & 0x40)))
  ------------------
  |  Branch (6872:17): [True: 0, False: 0]
  |  Branch (6872:32): [True: 0, False: 0]
  |  Branch (6872:49): [True: 0, False: 0]
  ------------------
 6873|      0|                return pe(g, missing_arg_ret, "option '--%s' requires an argument", o->name);
  ------------------
  |  | 6802|      0|#define pe  __ACCLIB_FUNCNAME(acc_getopt_perror)
  |  |  ------------------
  |  |  |  | 5069|      0|#  define __ACCLIB_FUNCNAME(f)  f
  |  |  ------------------
  ------------------
 6874|      0|            break;
 6875|      0|        case ACC_GETOPT_REQUIRED_ARG | 0x20:
  ------------------
  |  Branch (6875:9): [True: 0, False: 254k]
  ------------------
 6876|      0|            if (a[0] && a[1])
  ------------------
  |  Branch (6876:17): [True: 0, False: 0]
  |  Branch (6876:25): [True: 0, False: 0]
  ------------------
 6877|      0|                g->optarg = a + 1;
 6878|      0|            if (!g->optarg)
  ------------------
  |  Branch (6878:17): [True: 0, False: 0]
  ------------------
 6879|      0|                return pe(g, missing_arg_ret, "option '--%s=' requires an argument", o->name);
  ------------------
  |  | 6802|      0|#define pe  __ACCLIB_FUNCNAME(acc_getopt_perror)
  |  |  ------------------
  |  |  |  | 5069|      0|#  define __ACCLIB_FUNCNAME(f)  f
  |  |  ------------------
  ------------------
 6880|      0|            break;
 6881|   254k|        default:
  ------------------
  |  Branch (6881:9): [True: 254k, False: 0]
  ------------------
 6882|   254k|            if (a[0])
  ------------------
  |  Branch (6882:17): [True: 0, False: 254k]
  ------------------
 6883|      0|                return pe(g, g->bad_option, "option '--%s' doesn't allow an argument", o->name);
  ------------------
  |  | 6802|      0|#define pe  __ACCLIB_FUNCNAME(acc_getopt_perror)
  |  |  ------------------
  |  |  |  | 5069|      0|#  define __ACCLIB_FUNCNAME(f)  f
  |  |  ------------------
  ------------------
 6884|   254k|            break;
 6885|   254k|        }
 6886|   254k|        if (longind)
  ------------------
  |  Branch (6886:13): [True: 254k, False: 0]
  ------------------
 6887|   254k|            *longind = (int) (o - longopts);
 6888|   254k|        if (o->flag) {
  ------------------
  |  Branch (6888:13): [True: 0, False: 254k]
  ------------------
 6889|      0|            *o->flag = o->val;
 6890|      0|            return 0;
 6891|      0|        }
 6892|   254k|        return o->val;
 6893|   254k|    }
 6894|  28.2k|    if (a[0] == '-' && a[1]) {
  ------------------
  |  Branch (6894:9): [True: 28.2k, False: 0]
  |  Branch (6894:24): [True: 28.2k, False: 0]
  ------------------
 6895|  28.2k|        unsigned char c;
 6896|  28.2k|        const char *s;
 6897|  28.2k|    acc_label_next_shortopt:
 6898|  28.2k|        a = g->argv[g->optind] + ++g->shortpos;
 6899|  28.2k|        c = (unsigned char) *a++; s = ACC_nullptr;
  ------------------
  |  |  442|  28.2k|#  define ACC_nullptr           nullptr
  ------------------
 6900|  28.2k|        if (c != ':' && shortopts)
  ------------------
  |  Branch (6900:13): [True: 28.2k, False: 0]
  |  Branch (6900:25): [True: 28.2k, False: 0]
  ------------------
 6901|  28.2k|            s = strchr(shortopts, c);
 6902|  28.2k|        if (!s || s[1] != ':') {
  ------------------
  |  Branch (6902:13): [True: 0, False: 28.2k]
  |  Branch (6902:19): [True: 14.1k, False: 14.1k]
  ------------------
 6903|  14.1k|            if (!a[0])
  ------------------
  |  Branch (6903:17): [True: 14.1k, False: 0]
  ------------------
 6904|  14.1k|                { ++g->optind; g->shortpos = 0; }
 6905|  14.1k|            if (!s) {
  ------------------
  |  Branch (6905:17): [True: 0, False: 14.1k]
  ------------------
 6906|      0|                g->optopt = c;
 6907|      0|                return pe(g, g->bad_option, "invalid option '-%c'", c);
  ------------------
  |  | 6802|      0|#define pe  __ACCLIB_FUNCNAME(acc_getopt_perror)
  |  |  ------------------
  |  |  |  | 5069|      0|#  define __ACCLIB_FUNCNAME(f)  f
  |  |  ------------------
  ------------------
 6908|      0|            }
 6909|  14.1k|        } else {
 6910|  14.1k|            ++g->optind; g->shortpos = 0;
 6911|  14.1k|            if (a[0])
  ------------------
  |  Branch (6911:17): [True: 0, False: 14.1k]
  ------------------
 6912|      0|                g->optarg = a;
 6913|  14.1k|            else if (s[2] != ':') {
  ------------------
  |  Branch (6913:22): [True: 14.1k, False: 0]
  ------------------
 6914|  14.1k|                if (g->optind < g->argc)
  ------------------
  |  Branch (6914:21): [True: 14.1k, False: 0]
  ------------------
 6915|  14.1k|                    g->optarg = g->argv[g->optind++];
 6916|      0|                else {
 6917|      0|                    g->optopt = c;
 6918|      0|                    return pe(g, missing_arg_ret, "option '-%c' requires an argument", c);
  ------------------
  |  | 6802|      0|#define pe  __ACCLIB_FUNCNAME(acc_getopt_perror)
  |  |  ------------------
  |  |  |  | 5069|      0|#  define __ACCLIB_FUNCNAME(f)  f
  |  |  ------------------
  ------------------
 6919|      0|                }
 6920|  14.1k|            }
 6921|  14.1k|        }
 6922|  28.2k|        return c;
 6923|  28.2k|    }
 6924|      0|    if (ordering == ACC_GETOPT_RETURN_IN_ORDER) {
  ------------------
  |  Branch (6924:9): [True: 0, False: 0]
  ------------------
 6925|      0|        g->optarg = a;
 6926|      0|        ++g->optind;
 6927|      0|        return 1;
 6928|      0|    }
 6929|   127k|acc_label_eof:
 6930|   127k|    g->optind -= __ACCLIB_FUNCNAME(acc_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind);
  ------------------
  |  | 5069|   127k|#  define __ACCLIB_FUNCNAME(f)  f
  ------------------
 6931|   127k|    g->pending_rotate_first = g->pending_rotate_middle = g->optind;
 6932|   127k|    g->eof = 1;
 6933|   127k|    return -1;
 6934|      0|#undef pe
 6935|      0|}
_Z14acc_safe_hreadiPvl:
 7153|   541k|{
 7154|   541k|    acc_hbyte_p b = (acc_hbyte_p) buf;
  ------------------
  |  | 5114|   541k|#  define acc_hbyte_p   unsigned char *
  ------------------
 7155|   541k|    long l = 0;
 7156|   541k|    int saved_errno;
 7157|   541k|    saved_errno = errno;
 7158|  1.08M|    while (l < size)
  ------------------
  |  Branch (7158:12): [True: 555k, False: 526k]
  ------------------
 7159|   555k|    {
 7160|   555k|        long n = size - l;
 7161|       |#if (ACC_HAVE_MM_HUGE_PTR)
 7162|       |#  define __ACCLIB_REQUIRE_HREAD_CH 1
 7163|       |        errno = 0; n = acc_hread(fd, b, n);
 7164|       |#elif (ACC_OS_DOS32) && defined(__DJGPP__)
 7165|       |        errno = 0; n = _read(fd, b, n);
 7166|       |#else
 7167|   555k|        errno = 0; n = read(fd, b, n);
 7168|   555k|#endif
 7169|   555k|        if (n == 0)
  ------------------
  |  Branch (7169:13): [True: 14.5k, False: 540k]
  ------------------
 7170|  14.5k|            break;
 7171|   540k|        if (n < 0) {
  ------------------
  |  Branch (7171:13): [True: 0, False: 540k]
  ------------------
 7172|      0|#if defined(EAGAIN)
 7173|      0|            if (errno == (EAGAIN)) continue;
  ------------------
  |  Branch (7173:17): [True: 0, False: 0]
  ------------------
 7174|      0|#endif
 7175|      0|#if defined(EINTR)
 7176|      0|            if (errno == (EINTR)) continue;
  ------------------
  |  Branch (7176:17): [True: 0, False: 0]
  ------------------
 7177|      0|#endif
 7178|      0|            if (errno == 0) errno = 1;
  ------------------
  |  Branch (7178:17): [True: 0, False: 0]
  ------------------
 7179|      0|            return l;
 7180|      0|        }
 7181|   540k|        b += n; l += n;
 7182|   540k|    }
 7183|   541k|    errno = saved_errno;
 7184|   541k|    return l;
 7185|   541k|}
_Z15acc_safe_hwriteiPKvl:
 7187|  23.5k|{
 7188|  23.5k|    const acc_hbyte_p b = (const acc_hbyte_p) buf;
 7189|  23.5k|    long l = 0;
 7190|  23.5k|    int saved_errno;
 7191|  23.5k|    saved_errno = errno;
 7192|  47.1k|    while (l < size)
  ------------------
  |  Branch (7192:12): [True: 23.5k, False: 23.5k]
  ------------------
 7193|  23.5k|    {
 7194|  23.5k|        long n = size - l;
 7195|       |#if (ACC_HAVE_MM_HUGE_PTR)
 7196|       |#  define __ACCLIB_REQUIRE_HREAD_CH 1
 7197|       |        errno = 0; n = acc_hwrite(fd, b, n);
 7198|       |#elif (ACC_OS_DOS32) && defined(__DJGPP__)
 7199|       |        errno = 0; n = _write(fd, b, n);
 7200|       |#else
 7201|  23.5k|        errno = 0; n = write(fd, b, n);
 7202|  23.5k|#endif
 7203|  23.5k|        if (n == 0)
  ------------------
  |  Branch (7203:13): [True: 0, False: 23.5k]
  ------------------
 7204|      0|            break;
 7205|  23.5k|        if (n < 0) {
  ------------------
  |  Branch (7205:13): [True: 0, False: 23.5k]
  ------------------
 7206|      0|#if defined(EAGAIN)
 7207|      0|            if (errno == (EAGAIN)) continue;
  ------------------
  |  Branch (7207:17): [True: 0, False: 0]
  ------------------
 7208|      0|#endif
 7209|      0|#if defined(EINTR)
 7210|      0|            if (errno == (EINTR)) continue;
  ------------------
  |  Branch (7210:17): [True: 0, False: 0]
  ------------------
 7211|      0|#endif
 7212|      0|            if (errno == 0) errno = 1;
  ------------------
  |  Branch (7212:17): [True: 0, False: 0]
  ------------------
 7213|      0|            return l;
 7214|      0|        }
 7215|  23.5k|        b += n; l += n;
 7216|  23.5k|    }
 7217|  23.5k|    errno = saved_errno;
 7218|  23.5k|    return l;
 7219|  23.5k|}
_Z10acc_isattyi:
 7760|   440k|{
 7761|   440k|    if (fd < 0)
  ------------------
  |  Branch (7761:9): [True: 0, False: 440k]
  ------------------
 7762|      0|        return 0;
 7763|       |#if (ACC_OS_DOS16 && !(ACC_CC_AZTECC))
 7764|       |    {
 7765|       |        union REGS ri, ro;
 7766|       |        ri.x.ax = 0x4400; ri.x.bx = fd;
 7767|       |        int86(0x21, &ri, &ro);
 7768|       |        if ((ro.x.cflag & 1) == 0)
 7769|       |            if ((ro.x.ax & 0x83) != 0x83)
 7770|       |                return 0;
 7771|       |    }
 7772|       |#elif (ACC_OS_DOS32 && ACC_CC_WATCOMC)
 7773|       |    {
 7774|       |        union REGS ri, ro;
 7775|       |        ri.w.ax = 0x4400; ri.w.bx = ACC_STATIC_CAST(unsigned short, fd);
 7776|       |        int386(0x21, &ri, &ro);
 7777|       |        if ((ro.w.cflag & 1) == 0)
 7778|       |            if ((ro.w.ax & 0x83) != 0x83)
 7779|       |                return 0;
 7780|       |    }
 7781|       |#elif (ACC_HAVE_WINDOWS_H)
 7782|       |    {
 7783|       |        acc_intptr_t h = __ACCLIB_FUNCNAME(acc_get_osfhandle)(fd);
 7784|       |        ACC_COMPILE_TIME_ASSERT(sizeof(h) == sizeof(HANDLE))
 7785|       |        if (h != -1)
 7786|       |        {
 7787|       |            DWORD d = 0;
 7788|       |            if (GetConsoleMode(ACC_REINTERPRET_CAST(HANDLE, h), &d) == 0)
 7789|       |                return 0;
 7790|       |        }
 7791|       |    }
 7792|       |#endif
 7793|   440k|#if (HAVE_ISATTY)
 7794|   440k|    return (isatty(fd)) ? 1 : 0;
  ------------------
  |  Branch (7794:12): [True: 0, False: 440k]
  ------------------
 7795|       |#else
 7796|       |    return 0;
 7797|       |#endif
 7798|   440k|}
util.cpp:_ZL17acc_getopt_rotatePPciii:
 6769|   537k|{
 6770|   537k|    int i = middle, n = middle - first;
 6771|   537k|    if (first >= middle || middle >= last) return 0;
  ------------------
  |  Branch (6771:9): [True: 509k, False: 28.2k]
  |  Branch (6771:28): [True: 14.1k, False: 14.1k]
  ------------------
 6772|  28.2k|    for (;;) {
 6773|  28.2k|        char *t = p[first]; p[first++] = p[i]; p[i++] = t;
 6774|  28.2k|        if (first == middle) {
  ------------------
  |  Branch (6774:13): [True: 28.2k, False: 0]
  ------------------
 6775|  28.2k|            if (i == last) break;
  ------------------
  |  Branch (6775:17): [True: 14.1k, False: 14.1k]
  ------------------
 6776|  14.1k|            middle = i;
 6777|  14.1k|        } else if (i == last)
  ------------------
  |  Branch (6777:20): [True: 0, False: 0]
  ------------------
 6778|      0|            i = middle;
 6779|  28.2k|    }
 6780|  14.1k|    return n;
 6781|   537k|}

_Z9raw_bytesIPtENSt3__19enable_ifIXaasr3std10is_pointerIT_EE5valuentsr3upx16is_bounded_arrayIS3_EE5valueES3_E4typeES3_m:
   40|  28.2k|    raw_bytes(T ptr, size_t size_in_bytes) may_throw {
   41|  28.2k|    if (size_in_bytes > 0) {
  ------------------
  |  Branch (41:9): [True: 14.1k, False: 14.1k]
  ------------------
   42|  14.1k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|  14.1k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  14.1k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  14.1k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   43|  14.1k|            throwCantPack("raw_bytes unexpected NULL ptr");
   44|      0|        if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, size_in_bytes) != 0))
  ------------------
  |  |  245|      0|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      0|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      0|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   45|      0|            throwCantPack("raw_bytes valgrind-check-mem");
   46|      0|    }
   47|  14.1k|    return ptr;
   48|  28.2k|}
_Z15raw_index_bytesIPtENSt3__19enable_ifIXaaaasr3std10is_pointerIT_EE5valuentsr3upx16is_bounded_arrayIS3_EE5valuentsr3std7is_voidINS1_14remove_pointerIS3_E4typeEEE5valueES3_E4typeES3_mm:
   56|  70.7k|raw_index_bytes(T ptr, size_t index, size_t size_in_bytes) may_throw {
   57|  70.7k|    typedef typename std::remove_pointer<T>::type element_type;
   58|  70.7k|    if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|  70.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  70.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  70.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 42.4k, False: 28.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   59|  42.4k|        throwCantPack("raw_index_bytes unexpected NULL ptr");
   60|  28.2k|    size_in_bytes = mem_size(sizeof(element_type), index, size_in_bytes); // assert size
  ------------------
  |  |  340|  28.2k|#define index    upx_renamed_index
  ------------------
   61|  28.2k|    if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, size_in_bytes) != 0))
  ------------------
  |  |  245|  28.2k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  28.2k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  28.2k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 28.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   62|      0|        throwCantPack("raw_index_bytes valgrind-check-mem");
   63|  28.2k|    UNUSED(size_in_bytes);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   64|  28.2k|    return ptr + index;
  ------------------
  |  |  340|  28.2k|#define index    upx_renamed_index
  ------------------
   65|  28.2k|}
_Z9raw_bytesItLm4EEPT_RAT0__S0_m:
   69|   113k|inline T *raw_bytes(T (&array)[N], size_t size_in_bytes) may_throw {
   70|   113k|    typedef T element_type;
   71|   113k|    if very_unlikely (size_in_bytes > mem_size(sizeof(element_type), N))
  ------------------
  |  |  245|   113k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   113k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   113k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 42.4k, False: 70.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   72|  42.4k|        throwCantPack("raw_bytes out of range");
   73|  70.7k|    return array;
   74|   113k|}
_Z15raw_index_bytesItLm4EEPT_RAT0__S0_mm:
   77|  84.8k|inline T *raw_index_bytes(T (&array)[N], size_t index, size_t size_in_bytes) may_throw {
   78|  84.8k|    typedef T element_type;
   79|  84.8k|    return raw_bytes(array, mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  340|  84.8k|#define index    upx_renamed_index
  ------------------
                  return raw_bytes(array, mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  340|  84.8k|#define index    upx_renamed_index
  ------------------
   80|  84.8k|}
_Z9raw_bytesIPhENSt3__19enable_ifIXaasr3std10is_pointerIT_EE5valuentsr3upx16is_bounded_arrayIS3_EE5valueES3_E4typeES3_m:
   40|    104|    raw_bytes(T ptr, size_t size_in_bytes) may_throw {
   41|    104|    if (size_in_bytes > 0) {
  ------------------
  |  Branch (41:9): [True: 0, False: 104]
  ------------------
   42|      0|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|      0|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      0|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      0|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   43|      0|            throwCantPack("raw_bytes unexpected NULL ptr");
   44|      0|        if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, size_in_bytes) != 0))
  ------------------
  |  |  245|      0|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      0|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      0|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   45|      0|            throwCantPack("raw_bytes valgrind-check-mem");
   46|      0|    }
   47|    104|    return ptr;
   48|    104|}
_Z9raw_bytesIPKhENSt3__19enable_ifIXaasr3std10is_pointerIT_EE5valuentsr3upx16is_bounded_arrayIS4_EE5valueES4_E4typeES4_m:
   40|    344|    raw_bytes(T ptr, size_t size_in_bytes) may_throw {
   41|    344|    if (size_in_bytes > 0) {
  ------------------
  |  Branch (41:9): [True: 0, False: 344]
  ------------------
   42|      0|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|      0|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      0|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      0|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   43|      0|            throwCantPack("raw_bytes unexpected NULL ptr");
   44|      0|        if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, size_in_bytes) != 0))
  ------------------
  |  |  245|      0|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      0|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      0|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   45|      0|            throwCantPack("raw_bytes valgrind-check-mem");
   46|      0|    }
   47|    344|    return ptr;
   48|    344|}

_Z24upx_safe_strdup_noexceptPKc:
   34|  4.28M|char *upx_safe_strdup_noexcept(const char *s) noexcept {
   35|  4.28M|#undef strlen
   36|  4.28M|    assert_noexcept(s != nullptr);
  ------------------
  |  |  496|  4.28M|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  8.57M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 4.28M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   37|      0|    size_t len = strlen(s);
   38|  4.28M|    assert_noexcept(len < UPX_RSIZE_MAX_STR);
  ------------------
  |  |  496|  4.28M|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  8.57M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 4.28M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   39|      0|    char *p = (char *) ::malloc(len + 1);
   40|  4.28M|    assert_noexcept(p != nullptr);
  ------------------
  |  |  496|  4.28M|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  8.57M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 4.28M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   41|  4.28M|    if (p != nullptr)
  ------------------
  |  Branch (41:9): [True: 4.28M, False: 0]
  ------------------
   42|  4.28M|        memcpy(p, s, len + 1);
   43|  4.28M|    return p;
   44|  4.28M|#define strlen upx_safe_strlen
   45|  4.28M|}
_Z15upx_safe_strlenPKc:
   47|   140k|upx_rsize_t upx_safe_strlen(const char *s) may_throw {
   48|   140k|#undef strlen
   49|   140k|    assert(s != nullptr);
  ------------------
  |  |  493|   140k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   280k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 140k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   50|      0|    size_t len = strlen(s);
   51|   140k|    assert(len < UPX_RSIZE_MAX_STR);
  ------------------
  |  |  493|   140k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   280k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 140k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   52|      0|    return len;
   53|   140k|#define strlen upx_safe_strlen
   54|   140k|}
_Z18upx_safe_vsnprintfPcmPKcP13__va_list_tag:
   65|  2.80M|int upx_safe_vsnprintf(char *str, upx_rsize_t max_size, const char *format, va_list ap) may_throw {
   66|  2.80M|#undef vsnprintf
   67|  2.80M|    size_t size;
   68|       |
   69|       |    // preconditions
   70|  2.80M|    assert(max_size <= UPX_RSIZE_MAX_STR);
  ------------------
  |  |  493|  2.80M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  5.60M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 2.80M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   71|  2.80M|    if (str != nullptr)
  ------------------
  |  Branch (71:9): [True: 2.80M, False: 0]
  ------------------
   72|  2.80M|        assert(max_size > 0);
  ------------------
  |  |  493|  2.80M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  5.60M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 2.80M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   73|      0|    else
   74|      0|        assert(max_size == 0);
  ------------------
  |  |  493|      0|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   75|       |
   76|      0|    long long len = vsnprintf(str, max_size, format, ap);
   77|  2.80M|    assert(len >= 0);
  ------------------
  |  |  493|  2.80M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  5.60M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 2.80M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   78|  2.80M|    assert(len < UPX_RSIZE_MAX_STR);
  ------------------
  |  |  493|  2.80M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  5.60M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 2.80M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   79|      0|    size = (size_t) len + 1;
   80|       |
   81|       |    // postconditions
   82|  2.80M|    assert(size > 0);
  ------------------
  |  |  493|  2.80M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  5.60M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 2.80M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   83|  2.80M|    assert(size <= UPX_RSIZE_MAX_STR);
  ------------------
  |  |  493|  2.80M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  5.60M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 2.80M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   84|  2.80M|    if (str != nullptr) {
  ------------------
  |  Branch (84:9): [True: 2.80M, False: 0]
  ------------------
   85|  2.80M|        assert(size <= max_size);
  ------------------
  |  |  493|  2.80M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  5.60M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 2.80M, False: 106]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 106, False: 0]
  |  |  ------------------
  ------------------
   86|  2.80M|        assert(str[size - 1] == '\0');
  ------------------
  |  |  493|  2.80M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  5.60M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 2.80M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   87|  2.80M|    }
   88|       |
   89|  2.80M|    return ACC_ICONV(int, size - 1); // snprintf() returns length, not size
  ------------------
  |  | 1546|  2.80M|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  2.80M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
   90|  2.80M|#define vsnprintf upx_safe_vsnprintf
   91|  2.80M|}
_Z27upx_safe_vsnprintf_noexceptPcmPKcP13__va_list_tag:
   94|  72.8k|                                va_list ap) noexcept {
   95|  72.8k|#undef vsnprintf
   96|  72.8k|    size_t size;
   97|       |
   98|       |    // preconditions
   99|  72.8k|    assert_noexcept(max_size <= UPX_RSIZE_MAX_STR);
  ------------------
  |  |  496|  72.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   145k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 72.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  100|  72.8k|    if (str != nullptr)
  ------------------
  |  Branch (100:9): [True: 72.8k, False: 0]
  ------------------
  101|  72.8k|        assert_noexcept(max_size > 0);
  ------------------
  |  |  496|  72.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   145k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 72.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  102|      0|    else
  103|      0|        assert_noexcept(max_size == 0);
  ------------------
  |  |  496|      0|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  104|       |
  105|      0|    long long len = vsnprintf(str, max_size, format, ap);
  106|  72.8k|    assert_noexcept(len >= 0);
  ------------------
  |  |  496|  72.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   145k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 72.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  107|  72.8k|    assert_noexcept(len < UPX_RSIZE_MAX_STR);
  ------------------
  |  |  496|  72.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   145k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 72.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  108|      0|    size = (size_t) len + 1;
  109|       |
  110|       |    // postconditions
  111|  72.8k|    assert_noexcept(size > 0);
  ------------------
  |  |  496|  72.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   145k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 72.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  112|  72.8k|    assert_noexcept(size <= UPX_RSIZE_MAX_STR);
  ------------------
  |  |  496|  72.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   145k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 72.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  113|  72.8k|    if (str != nullptr) {
  ------------------
  |  Branch (113:9): [True: 72.8k, False: 0]
  ------------------
  114|  72.8k|        assert_noexcept(size <= max_size);
  ------------------
  |  |  496|  72.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   145k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 72.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  115|  72.8k|        assert_noexcept(str[size - 1] == '\0');
  ------------------
  |  |  496|  72.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   145k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 72.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  116|  72.8k|    }
  117|       |
  118|  72.8k|    return ACC_ICONV(int, size - 1); // snprintf() returns length, not size
  ------------------
  |  | 1546|  72.8k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  72.8k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  119|  72.8k|#define vsnprintf upx_safe_vsnprintf
  120|  72.8k|}
_Z17upx_safe_snprintfPcmPKcz:
  122|  2.80M|int upx_safe_snprintf(char *str, upx_rsize_t max_size, const char *format, ...) may_throw {
  123|  2.80M|    va_list ap;
  124|  2.80M|    int len;
  125|       |
  126|  2.80M|    va_start(ap, format);
  127|  2.80M|    len = upx_safe_vsnprintf(str, max_size, format, ap);
  128|       |    va_end(ap);
  129|  2.80M|    return len;
  130|  2.80M|}
_Z26upx_safe_snprintf_noexceptPcmPKcz:
  132|  56.5k|int upx_safe_snprintf_noexcept(char *str, upx_rsize_t max_size, const char *format, ...) noexcept {
  133|  56.5k|    va_list ap;
  134|  56.5k|    int len;
  135|       |
  136|  56.5k|    va_start(ap, format);
  137|  56.5k|    len = upx_safe_vsnprintf_noexcept(str, max_size, format, ap);
  138|       |    va_end(ap);
  139|  56.5k|    return len;
  140|  56.5k|}

_Z15upx_safe_strlenPKh:
   87|  12.9k|forceinline upx_rsize_t upx_safe_strlen(const uchar *s) may_throw {
   88|  12.9k|    return upx_safe_strlen((const char *) s);
   89|  12.9k|}

_Z14mem_size_validyyyy:
   57|   116k|                    upx_uint64_t extra2) noexcept {
   58|   116k|    assert_noexcept(element_size > 0);
  ------------------
  |  |  496|   116k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   232k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 116k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   59|   116k|    if very_unlikely (element_size == 0 || element_size > UPX_RSIZE_MAX)
  ------------------
  |  |  245|   116k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   116k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   232k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 116k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 116k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 116k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   60|      0|        return false;
   61|   116k|    if very_unlikely (n > UPX_RSIZE_MAX)
  ------------------
  |  |  245|   116k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   116k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   116k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.1k, False: 102k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   62|  14.1k|        return false;
   63|   102k|    if very_unlikely (extra1 > UPX_RSIZE_MAX)
  ------------------
  |  |  245|   102k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   102k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   102k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 102k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   64|      0|        return false;
   65|   102k|    if very_unlikely (extra2 > UPX_RSIZE_MAX)
  ------------------
  |  |  245|   102k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   102k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   102k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 102k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   66|      0|        return false;
   67|   102k|    upx_uint64_t bytes = element_size * n + extra1 + extra2; // cannot overflow
   68|   102k|    if very_unlikely (bytes > UPX_RSIZE_MAX)
  ------------------
  |  |  245|   102k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   102k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   102k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 42.4k, False: 59.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   69|  42.4k|        return false;
   70|  59.7k|    return true;
   71|   102k|}
_Z8mem_sizeyyyy:
   74|   518k|                     upx_uint64_t extra2) may_throw {
   75|   518k|    assert(element_size > 0);
  ------------------
  |  |  493|   518k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  1.03M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 518k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   76|   518k|    if very_unlikely (element_size == 0 || element_size > UPX_RSIZE_MAX)
  ------------------
  |  |  245|   518k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   518k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  1.03M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 518k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 518k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 518k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   77|      0|        throwCantPack("mem_size 1; take care");
   78|   518k|    if very_unlikely (n > UPX_RSIZE_MAX)
  ------------------
  |  |  245|   518k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   518k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   518k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 42.5k, False: 475k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   79|  42.5k|        throwCantPack("mem_size 2; take care");
   80|   475k|    if very_unlikely (extra1 > UPX_RSIZE_MAX)
  ------------------
  |  |  245|   475k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   475k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   475k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 475k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   81|      0|        throwCantPack("mem_size 3; take care");
   82|   475k|    if very_unlikely (extra2 > UPX_RSIZE_MAX)
  ------------------
  |  |  245|   475k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   475k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   475k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 475k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   83|      0|        throwCantPack("mem_size 4; take care");
   84|   475k|    upx_uint64_t bytes = element_size * n + extra1 + extra2; // cannot overflow
   85|   475k|    if very_unlikely (bytes > UPX_RSIZE_MAX)
  ------------------
  |  |  245|   475k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   475k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   475k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 56.6k, False: 418k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   86|  56.6k|        throwCantPack("mem_size 5; take care");
   87|   418k|    return ACC_ICONV(upx_rsize_t, bytes);
  ------------------
  |  | 1546|   418k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   418k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
   88|   475k|}
_Z14ptr_diff_bytesPKvS0_:
  114|   541k|int ptr_diff_bytes(const void *a, const void *b) may_throw {
  115|   541k|    if very_unlikely (a == nullptr)
  ------------------
  |  |  245|   541k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   541k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   541k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.1k, False: 527k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  116|  14.1k|        throwCantPack("ptr_diff_bytes null 1; take care");
  117|   527k|    if very_unlikely (b == nullptr)
  ------------------
  |  |  245|   527k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   527k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   527k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.1k, False: 513k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  118|  14.1k|        throwCantPack("ptr_diff_bytes null 2; take care");
  119|   513k|    upx_sptraddr_t d = ptraddr_diff(a, b);
  120|   513k|    if (a >= b) {
  ------------------
  |  Branch (120:9): [True: 410k, False: 103k]
  ------------------
  121|   410k|        if very_unlikely (!mem_size_valid_bytes(d))
  ------------------
  |  |  245|   410k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   410k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   410k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 410k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  122|      0|            throwCantPack("ptr_diff_bytes-1; take care");
  123|   410k|    } else {
  124|   103k|        if very_unlikely (!mem_size_valid_bytes(0ll - d))
  ------------------
  |  |  245|   103k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   103k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   103k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 103k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  125|      0|            throwCantPack("ptr_diff_bytes-2; take care");
  126|   103k|    }
  127|   513k|    assert_noexcept(d == ((const charptr) a - (const charptr) b));
  ------------------
  |  |  496|   513k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  1.02M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 513k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  128|   513k|    return ACC_ICONV(int, d);
  ------------------
  |  | 1546|   513k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   513k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  129|   513k|}
_Z15ptr_udiff_bytesPKvS0_:
  131|   353k|unsigned ptr_udiff_bytes(const void *a, const void *b) may_throw {
  132|   353k|    int d = ptr_diff_bytes(a, b);
  133|   353k|    if very_unlikely (d < 0)
  ------------------
  |  |  245|   353k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   353k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   353k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.1k, False: 339k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  134|  14.1k|        throwCantPack("ptr_udiff_bytes; take care");
  135|   339k|    return ACC_ICONV(unsigned, d);
  ------------------
  |  | 1546|   339k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   339k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  136|   353k|}
_Z24ptraddr_check_no_overlapmmmm:
  153|      3|    may_throw {
  154|      3|    if very_unlikely (a == 0 || b == 0)
  ------------------
  |  |  245|      3|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      3|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      6|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 3]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 3]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 3]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  155|      0|        throwCantPack("ptr_check_no_overlap2-nullptr");
  156|      3|    upx_ptraddr_t a_end = a + mem_size(1, a_size);
  157|      3|    upx_ptraddr_t b_end = b + mem_size(1, b_size);
  158|      3|    if very_unlikely (a_end < a || b_end < b) // wrap-around
  ------------------
  |  |  245|      3|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      3|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      6|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 3]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 3]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 3]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  159|      0|        throwCantPack("ptr_check_no_overlap2-overflow");
  160|       |    // simple, but a little bit mind bending:
  161|       |    //   same as (!(a >= b_end || b >= a_end))
  162|       |    //   same as (!(a_end <= b || b_end <= a))
  163|      3|    if very_unlikely (a < b_end && b < a_end)
  ------------------
  |  |  245|      3|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      3|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      3|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 3]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 3]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  164|      0|        throwCantPack("ptr_check_no_overlap2-ab");
  165|      3|}
_Z10upx_getenvPKc:
  270|   537k|const char *upx_getenv(const char *envvar) noexcept {
  271|   537k|    if likely (envvar != nullptr && envvar[0])
  ------------------
  |  |  242|   537k|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|  1.06M|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 509k, False: 28.2k]
  |  |  |  |  |  Branch (2016:54): [True: 523k, False: 14.1k]
  |  |  |  |  |  Branch (2016:54): [True: 509k, False: 14.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  272|   509k|        return ::getenv(envvar);
  273|  28.2k|    return nullptr;
  274|   537k|}
_Z11upx_memswapPvS_m:
  302|   141k|void upx_memswap(void *aa, void *bb, size_t bytes) noexcept {
  303|   141k|    if (aa != bb && bytes != 0) {
  ------------------
  |  Branch (303:9): [True: 127k, False: 14.1k]
  |  Branch (303:21): [True: 127k, False: 0]
  ------------------
  304|   127k|        byte *a = (byte *) aa;
  305|   127k|        byte *b = (byte *) bb;
  306|   452k|        do {
  307|       |            // strange clang-analyzer-15 false positive when compiling in Debug mode
  308|       |            // clang-analyzer-core.uninitialized.Assign
  309|   452k|            byte tmp = *a; // NOLINT(*core.uninitialized.Assign) // bogus clang-analyzer warning
  310|   452k|            *a++ = *b;
  311|   452k|            *b++ = tmp;
  312|   452k|        } while (--bytes != 0);
  ------------------
  |  Branch (312:18): [True: 325k, False: 127k]
  ------------------
  313|   127k|    }
  314|   141k|}
_Z4findPKviS0_i:
  575|  1.11M|int find(const void *buf, int blen, const void *what, int wlen) noexcept {
  576|       |    // nullptr is explicitly allowed here
  577|  1.11M|    if (buf == nullptr || blen < wlen || what == nullptr || wlen <= 0)
  ------------------
  |  Branch (577:9): [True: 14.1k, False: 1.09M]
  |  Branch (577:27): [True: 14.1k, False: 1.08M]
  |  Branch (577:42): [True: 0, False: 1.08M]
  |  Branch (577:61): [True: 28.2k, False: 1.05M]
  ------------------
  578|  56.6k|        return -1;
  579|       |
  580|  1.05M|    const byte *b = (const byte *) buf;
  581|  1.05M|    const byte first_byte = *(const byte *) what;
  582|       |
  583|  1.05M|    blen -= wlen;
  584|  5.47M|    for (int i = 0; i <= blen; i++, b++)
  ------------------
  |  Branch (584:21): [True: 5.42M, False: 47.2k]
  ------------------
  585|  5.42M|        if (*b == first_byte && memcmp(b, what, wlen) == 0)
  ------------------
  |  Branch (585:13): [True: 1.01M, False: 4.41M]
  |  Branch (585:33): [True: 1.00M, False: 5.14k]
  ------------------
  586|  1.00M|            return i;
  587|       |
  588|  47.2k|    return -1;
  589|  1.05M|}
_Z9find_be16PKvij:
  591|  42.4k|int find_be16(const void *b, int blen, unsigned what) noexcept {
  592|  42.4k|    byte w[2];
  593|  42.4k|    set_be16(w, what);
  594|  42.4k|    return find(b, blen, w, 2);
  595|  42.4k|}
_Z9find_be32PKvij:
  597|  42.4k|int find_be32(const void *b, int blen, unsigned what) noexcept {
  598|  42.4k|    byte w[4];
  599|  42.4k|    set_be32(w, what);
  600|  42.4k|    return find(b, blen, w, 4);
  601|  42.4k|}
_Z9find_be64PKviy:
  603|  28.2k|int find_be64(const void *b, int blen, upx_uint64_t what) noexcept {
  604|  28.2k|    byte w[8];
  605|  28.2k|    set_be64(w, what);
  606|  28.2k|    return find(b, blen, w, 8);
  607|  28.2k|}
_Z9find_le16PKvij:
  609|  42.4k|int find_le16(const void *b, int blen, unsigned what) noexcept {
  610|  42.4k|    byte w[2];
  611|  42.4k|    set_le16(w, what);
  612|  42.4k|    return find(b, blen, w, 2);
  613|  42.4k|}
_Z9find_le32PKvij:
  615|  78.5k|int find_le32(const void *b, int blen, unsigned what) noexcept {
  616|  78.5k|    byte w[4];
  617|  78.5k|    set_le32(w, what);
  618|  78.5k|    return find(b, blen, w, 4);
  619|  78.5k|}
_Z9find_le64PKviy:
  621|  28.2k|int find_le64(const void *b, int blen, upx_uint64_t what) noexcept {
  622|  28.2k|    byte w[8];
  623|  28.2k|    set_le64(w, what);
  624|  28.2k|    return find(b, blen, w, 8);
  625|  28.2k|}
_Z11mem_replacePviPKviS1_:
  649|  70.7k|int mem_replace(void *buf, int blen, const void *what, int wlen, const void *replacement) noexcept {
  650|  70.7k|    byte *const b = (byte *) buf;
  651|  70.7k|    int boff = 0;
  652|  70.7k|    int count = 0;
  653|       |
  654|   410k|    while (blen - boff >= wlen) {
  ------------------
  |  Branch (654:12): [True: 353k, False: 56.5k]
  ------------------
  655|   353k|        int off = find(b + boff, blen - boff, what, wlen);
  656|   353k|        if (off < 0)
  ------------------
  |  Branch (656:13): [True: 14.1k, False: 339k]
  ------------------
  657|  14.1k|            break;
  658|   339k|        boff += off;
  659|   339k|        memcpy(b + boff, replacement, wlen);
  660|   339k|        boff += wlen;
  661|   339k|        count++;
  662|   339k|    }
  663|  70.7k|    return count;
  664|  70.7k|}
_Z11fn_basenamePKc:
  814|  14.2k|char *fn_basename(const char *name) {
  815|  14.2k|    const char *n, *nn;
  816|       |
  817|  14.2k|    name = fn_skip_drive(name);
  ------------------
  |  |  809|  14.2k|#define fn_skip_drive(s) (s)
  ------------------
  818|  58.6k|    for (nn = n = name; *nn; nn++)
  ------------------
  |  Branch (818:25): [True: 44.3k, False: 14.2k]
  ------------------
  819|  44.3k|        if (fn_is_sep(*nn))
  ------------------
  |  |  808|  44.3k|#define fn_is_sep(c)     ((c) == '/')
  |  |  ------------------
  |  |  |  Branch (808:26): [True: 130, False: 44.2k]
  |  |  ------------------
  ------------------
  820|    130|            n = nn + 1;
  821|  14.2k|    return ACC_UNCONST_CAST(char *, n);
  ------------------
  |  | 1483|  14.2k|#    define ACC_UNCONST_CAST(t,e)           (const_cast<t> (e))
  ------------------
  822|  14.2k|}
_Z14is_envvar_truePKcS0_:
  863|   297k|bool is_envvar_true(const char *envvar, const char *alternate_name) noexcept {
  864|   297k|    const char *e = upx_getenv(envvar);
  865|   297k|    if (e != nullptr && e[0])
  ------------------
  |  Branch (865:9): [True: 0, False: 297k]
  |  Branch (865:25): [True: 0, False: 0]
  ------------------
  866|      0|        return strcmp(e, "0") != 0;
  867|   297k|    if (alternate_name != nullptr) {
  ------------------
  |  Branch (867:9): [True: 42.4k, False: 254k]
  ------------------
  868|  42.4k|        e = upx_getenv(alternate_name);
  869|  42.4k|        if (e != nullptr && e[0])
  ------------------
  |  Branch (869:13): [True: 0, False: 42.4k]
  |  Branch (869:29): [True: 0, False: 0]
  ------------------
  870|      0|            return strcmp(e, "0") != 0;
  871|  42.4k|    }
  872|   297k|    return false;
  873|   297k|}
_Z13center_stringPcmPKc:
  897|  14.1k|void center_string(char *buf, size_t size, const char *s) {
  898|  14.1k|    size_t l1 = size - 1;
  899|  14.1k|    size_t l2 = strlen(s);
  ------------------
  |  |   70|  14.1k|#define strlen upx_safe_strlen
  ------------------
  900|  14.1k|    assert(size > 0);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  901|  14.1k|    assert(l2 < size);
  ------------------
  |  |  493|  14.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  28.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  902|      0|    memset(buf, ' ', l1);
  903|  14.1k|    memcpy(buf + (l1 - l2) / 2, s, l2);
  904|  14.1k|    buf[l1] = 0;
  905|  14.1k|}
_Z9get_ratioyy:
 1002|   183k|unsigned get_ratio(upx_uint64_t u_len, upx_uint64_t c_len) {
 1003|   183k|    constexpr unsigned N = 1000 * 1000;
 1004|   183k|    if (u_len == 0)
  ------------------
  |  Branch (1004:9): [True: 38.1k, False: 145k]
  ------------------
 1005|  38.1k|        return c_len == 0 ? 0 : N;
  ------------------
  |  Branch (1005:16): [True: 23.9k, False: 14.1k]
  ------------------
 1006|   145k|    upx_uint64_t x = c_len * N;
 1007|   145k|    assert(x / N == c_len); // sanity check
  ------------------
  |  |  493|   145k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   291k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 145k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1008|      0|    x /= u_len;
 1009|   145k|    x += 50;         // rounding; cannot overflow
 1010|   145k|    if (x >= 10 * N) // >= "1000%"
  ------------------
  |  Branch (1010:9): [True: 42.4k, False: 103k]
  ------------------
 1011|  42.4k|        x = 10 * N - 1;
 1012|   145k|    return ACC_ICONV(unsigned, x);
  ------------------
  |  | 1546|   145k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   145k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1013|   183k|}
util.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
   90|  14.1k|TEST_CASE("mem_size") {
   91|  14.1k|    mem_size_assert(1, 0);
   92|  14.1k|    mem_size_assert(1, 0x30000000);
   93|  14.1k|    CHECK_THROWS(mem_size_assert(1, 0x30000000 + 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   94|  14.1k|    mem_size_assert_noexcept(1, 0);
   95|  14.1k|    mem_size_assert_noexcept(1, 0x30000000);
   96|  14.1k|    CHECK(mem_size_valid(1, 0));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   97|  14.1k|    CHECK(mem_size_valid(1, 0x30000000));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   98|  14.1k|    CHECK(!mem_size_valid(1, 0x30000000 + 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   99|  14.1k|    CHECK(!mem_size_valid(1, 0x30000000, 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  100|  14.1k|    CHECK(!mem_size_valid(1, 0x30000000, 0, 1));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  101|  14.1k|    CHECK(!mem_size_valid(1, 0x30000000, 0x30000000, 0x30000000));
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  102|  14.1k|    CHECK_NOTHROW(mem_size(1, 0));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  103|  14.1k|    CHECK_NOTHROW(mem_size(1, 0x30000000));
  ------------------
  |  | 2974|  14.1k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.1k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.1k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.1k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.1k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.1k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.1k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.1k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  104|  14.1k|    CHECK_THROWS(mem_size(1, 0x30000000 + 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  105|  14.1k|    CHECK_THROWS(mem_size(1, 0x30000000, 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  106|  14.1k|    CHECK_THROWS(mem_size(1, 0x30000000, 0, 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  107|  14.1k|    CHECK_THROWS(mem_size(1, 0x30000000, 0x30000000, 0x30000000));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  108|  14.1k|}
util.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
  138|  14.1k|TEST_CASE("ptr_diff") {
  139|  14.1k|    byte buf[4] = {0, 1, 2, 3};
  140|  14.1k|    CHECK_THROWS(ptr_diff_bytes(nullptr, buf));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  141|  14.1k|    CHECK_THROWS(ptr_diff_bytes(buf, nullptr));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  142|  14.1k|    CHECK(ptr_diff(buf, buf) == 0);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  143|  14.1k|    CHECK(ptr_diff(buf + 1, buf) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  144|  14.1k|    CHECK(ptr_diff(buf, buf + 1) == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  145|  14.1k|    CHECK(ptr_udiff(buf, buf) == 0);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  146|  14.1k|    CHECK(ptr_udiff(buf + 1, buf) == 1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  147|  14.1k|    CHECK_THROWS(ptr_udiff(buf, buf + 1));
  ------------------
  |  | 2970|  14.1k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.1k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.1k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.1k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.1k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.1k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.1k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.1k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.1k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.1k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.1k|        } else { /* NOLINT(*-else-after-return) */                                                 \
  |  |  |  |  |  | 2510|      0|           DOCTEST_FUNC_SCOPE_RET(false);                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2511|      0|        }                                                                                          \
  |  |  |  |  |  | 2512|  14.1k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  148|  14.1k|    UNUSED(buf);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  149|  14.1k|}
util.cpp:_ZL18memswap_no_overlapPhS_m:
  317|  14.1k|static inline void memswap_no_overlap(byte *a, byte *b, size_t bytes) noexcept {
  318|       |#if defined(__clang__) && (__clang_major__ < 15) && !defined(__CHERI__)
  319|       |    // work around a clang < 15 ICE (Internal Compiler Error)
  320|       |    // @COMPILER_BUG @CLANG_BUG
  321|       |    upx_memswap(a, b, bytes);
  322|       |#else // clang bug
  323|  14.1k|    upx_alignas_max byte tmp_buf[16];
  ------------------
  |  |  157|  14.1k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
  324|  14.1k|#define SWAP(n)                                                                                    \
  325|  14.1k|    do {                                                                                           \
  326|  14.1k|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  327|  14.1k|        upx_memcpy_inline(a, b, n);                                                                \
  328|  14.1k|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  329|  14.1k|        a += n;                                                                                    \
  330|  14.1k|        b += n;                                                                                    \
  331|  14.1k|    } while (0)
  332|       |
  333|  28.2k|    for (; bytes >= 16; bytes -= 16)
  ------------------
  |  Branch (333:12): [True: 14.1k, False: 14.1k]
  ------------------
  334|  14.1k|        SWAP(16);
  ------------------
  |  |  325|  14.1k|    do {                                                                                           \
  |  |  326|  14.1k|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  |  |  ------------------
  |  |  |  |  402|  14.1k|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  327|  14.1k|        upx_memcpy_inline(a, b, n);                                                                \
  |  |  ------------------
  |  |  |  |  402|  14.1k|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  328|  14.1k|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  |  |  ------------------
  |  |  |  |  402|  14.1k|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  329|  14.1k|        a += n;                                                                                    \
  |  |  330|  14.1k|        b += n;                                                                                    \
  |  |  331|  14.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (331:14): [Folded, False: 14.1k]
  |  |  ------------------
  ------------------
  335|  14.1k|    if (bytes & 8)
  ------------------
  |  Branch (335:9): [True: 0, False: 14.1k]
  ------------------
  336|      0|        SWAP(8);
  ------------------
  |  |  325|      0|    do {                                                                                           \
  |  |  326|      0|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  |  |  ------------------
  |  |  |  |  402|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  327|      0|        upx_memcpy_inline(a, b, n);                                                                \
  |  |  ------------------
  |  |  |  |  402|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  328|      0|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  |  |  ------------------
  |  |  |  |  402|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  329|      0|        a += n;                                                                                    \
  |  |  330|      0|        b += n;                                                                                    \
  |  |  331|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (331:14): [Folded, False: 0]
  |  |  ------------------
  ------------------
  337|  14.1k|    if (bytes & 4)
  ------------------
  |  Branch (337:9): [True: 0, False: 14.1k]
  ------------------
  338|      0|        SWAP(4);
  ------------------
  |  |  325|      0|    do {                                                                                           \
  |  |  326|      0|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  |  |  ------------------
  |  |  |  |  402|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  327|      0|        upx_memcpy_inline(a, b, n);                                                                \
  |  |  ------------------
  |  |  |  |  402|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  328|      0|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  |  |  ------------------
  |  |  |  |  402|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  329|      0|        a += n;                                                                                    \
  |  |  330|      0|        b += n;                                                                                    \
  |  |  331|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (331:14): [Folded, False: 0]
  |  |  ------------------
  ------------------
  339|  14.1k|    if (bytes & 2)
  ------------------
  |  Branch (339:9): [True: 0, False: 14.1k]
  ------------------
  340|      0|        SWAP(2);
  ------------------
  |  |  325|      0|    do {                                                                                           \
  |  |  326|      0|        upx_memcpy_inline(tmp_buf, a, n);                                                          \
  |  |  ------------------
  |  |  |  |  402|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  327|      0|        upx_memcpy_inline(a, b, n);                                                                \
  |  |  ------------------
  |  |  |  |  402|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  328|      0|        upx_memcpy_inline(b, tmp_buf, n);                                                          \
  |  |  ------------------
  |  |  |  |  402|      0|#define upx_memcpy_inline __builtin_memcpy
  |  |  ------------------
  |  |  329|      0|        a += n;                                                                                    \
  |  |  330|      0|        b += n;                                                                                    \
  |  |  331|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (331:14): [Folded, False: 0]
  |  |  ------------------
  ------------------
  341|  14.1k|    if (bytes & 1) {
  ------------------
  |  Branch (341:9): [True: 0, False: 14.1k]
  ------------------
  342|      0|        byte tmp = *a;
  343|      0|        *a = *b;
  344|      0|        *b = tmp;
  345|      0|    }
  346|  14.1k|#undef SWAP
  347|  14.1k|#endif // clang bug
  348|  14.1k|}
util.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
  445|  14.1k|TEST_CASE("upx_memswap") {
  446|  14.1k|    auto check4 = [](int off1, int off2, int len, int a, int b, int c, int d) {
  447|  14.1k|        byte p[4] = {0, 1, 2, 3};
  448|  14.1k|        assert_noexcept(a + b + c + d == 0 + 1 + 2 + 3);
  449|  14.1k|        upx_memswap(p + off1, p + off2, len);
  450|  14.1k|        CHECK((p[0] == a && p[1] == b && p[2] == c && p[3] == d));
  451|  14.1k|    };
  452|       |    // identical
  453|  14.1k|    check4(0, 0, 4, 0, 1, 2, 3);
  454|       |    // non-overlapping
  455|  14.1k|    check4(0, 1, 1, 1, 0, 2, 3);
  456|  14.1k|    check4(1, 0, 1, 1, 0, 2, 3);
  457|  14.1k|    check4(0, 2, 2, 2, 3, 0, 1);
  458|  14.1k|    check4(2, 0, 2, 2, 3, 0, 1);
  459|       |    // overlapping
  460|  14.1k|    check4(0, 1, 2, 1, 2, 0, 3);
  461|  14.1k|    check4(1, 0, 2, 1, 2, 0, 3);
  462|  14.1k|    check4(0, 1, 3, 1, 2, 3, 0);
  463|  14.1k|    check4(1, 0, 3, 1, 2, 3, 0);
  464|       |
  465|       |    // pointer array
  466|  14.1k|    {
  467|  14.1k|        typedef byte element_type;
  468|  14.1k|        element_type a = 11, b = 22;
  469|  14.1k|        element_type *array[4];
  470|       |        // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  471|  14.1k|        memset(array, 0xfb, sizeof(array));
  472|  14.1k|        array[1] = &a;
  473|  14.1k|        array[3] = &b;
  474|  14.1k|        CHECK(*array[1] == 11);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  475|  14.1k|        CHECK(*array[3] == 22);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  476|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  477|       |        // TODO later: CHERI clang-14 bug/miscompilation with upx_memswap(); or
  478|       |        //   maybe caused by tagged-memory issues ???
  479|       |        // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  480|       |        memswap_no_overlap((byte *) array, (byte *) (array + 2), 2 * sizeof(array[0]));
  481|       |#else
  482|       |        // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  483|  14.1k|        upx_memswap(array, array + 2, 2 * sizeof(array[0]));
  484|  14.1k|#endif
  485|  14.1k|        CHECK(array[1] == &b);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  486|  14.1k|        CHECK(array[3] == &a);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  487|  14.1k|        CHECK(*array[1] == 22);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  488|  14.1k|        CHECK(*array[3] == 11);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  489|       |        // NOLINTNEXTLINE(bugprone-multi-level-implicit-pointer-conversion)
  490|  14.1k|        memswap_no_overlap((byte *) array, (byte *) (array + 2), 2 * sizeof(array[0]));
  491|  14.1k|        CHECK(array[1] == &a);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  492|  14.1k|        CHECK(array[3] == &b);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  493|  14.1k|        CHECK(*array[1] == 11);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  494|  14.1k|        CHECK(*array[3] == 22);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  495|  14.1k|    }
  496|  14.1k|}
util.cpp:_ZZL19DOCTEST_ANON_FUNC_6vENK3$_0clEiiiiiii:
  446|   127k|    auto check4 = [](int off1, int off2, int len, int a, int b, int c, int d) {
  447|   127k|        byte p[4] = {0, 1, 2, 3};
  448|   127k|        assert_noexcept(a + b + c + d == 0 + 1 + 2 + 3);
  ------------------
  |  |  496|   127k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   254k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 127k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  449|      0|        upx_memswap(p + off1, p + off2, len);
  450|   127k|        CHECK((p[0] == a && p[1] == b && p[2] == c && p[3] == d));
  ------------------
  |  | 2968|   127k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|   127k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   127k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   127k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   127k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   127k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   127k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   127k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   127k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   127k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   127k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   764k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 127k, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 127k, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 127k, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (2145:9): [True: 127k, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2146|   127k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   127k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   127k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   127k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   127k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 127k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   127k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   127k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   127k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   127k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   127k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   127k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 127k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  451|   127k|    };
util.cpp:_ZL19DOCTEST_ANON_FUNC_8v:
  627|  14.1k|TEST_CASE("find") {
  628|  14.1k|    CHECK(find(nullptr, -1, nullptr, -1) == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  629|  14.1k|    static const byte b[16] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
  630|  14.1k|    CHECK(find(b, 16, b, 0) == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  631|   240k|    for (int i = 0; i < 16; i++) {
  ------------------
  |  Branch (631:21): [True: 226k, False: 14.1k]
  ------------------
  632|   226k|        CHECK(find(b, 16, b + i, 1) == i);
  ------------------
  |  | 2968|   226k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|   226k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   226k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   226k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   226k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   226k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   226k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   226k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   226k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   226k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|   226k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   226k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   226k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   226k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   226k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   226k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  633|   226k|    }
  634|   240k|    for (int i = 1; i <= 16; i++) {
  ------------------
  |  Branch (634:21): [True: 226k, False: 14.1k]
  ------------------
  635|   226k|        CHECK(find(b, 16, b, i) == 0);
  ------------------
  |  | 2968|   226k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|   226k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|   226k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   226k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|   226k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|   226k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|   226k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|   226k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|   226k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|   226k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|   226k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|   226k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|   226k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|   226k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|   226k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|   226k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|   226k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 226k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|   226k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|   226k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|   226k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|   226k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|   226k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   226k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 226k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  636|   226k|    }
  637|  14.1k|    CHECK(find(b, 16, b, 17) == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  638|  14.1k|    CHECK(find_be16(b, 16, 0x0203) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  639|  14.1k|    CHECK(find_le16(b, 16, 0x0302) == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  640|  14.1k|    CHECK(find_be32(b, 16, 0x04050607) == 4);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  641|  14.1k|    CHECK(find_le32(b, 16, 0x07060504) == 4);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  642|  14.1k|    CHECK(find_be64(b, 16, 0x08090a0b0c0d0e0fULL) == 8);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  643|  14.1k|    CHECK(find_le64(b, 16, 0x0f0e0d0c0b0a0908ULL) == 8);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  644|  14.1k|    CHECK(find_be64(b, 15, 0x08090a0b0c0d0e0fULL) == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  645|  14.1k|    CHECK(find_le64(b, 15, 0x0f0e0d0c0b0a0908ULL) == -1);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  646|  14.1k|    UNUSED(b);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  647|  14.1k|}
util.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
  666|  14.1k|TEST_CASE("mem_replace") {
  667|  14.1k|    char b[16 + 1] = "aaaaaaaaaaaaaaaa";
  668|  14.1k|    CHECK(mem_replace(b, 16, "a", 0, "x") == 0);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  669|  14.1k|    CHECK(mem_replace(b, 16, "a", 1, "b") == 16);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  670|  14.1k|    CHECK(mem_replace(b, 8, "bb", 2, "cd") == 4);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  671|  14.1k|    CHECK(mem_replace(b + 8, 8, "bbb", 3, "efg") == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  672|  14.1k|    CHECK(mem_replace(b, 16, "b", 1, "h") == 2);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  673|  14.1k|    CHECK(strcmp(b, "cdcdcdcdefgefghh") == 0);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  674|  14.1k|    UNUSED(b);
  ------------------
  |  |  249|  14.1k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.1k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  675|  14.1k|}
util.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
 1015|  14.1k|TEST_CASE("get_ratio") {
 1016|  14.1k|    CHECK(get_ratio(0, 0) == 0);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1017|  14.1k|    CHECK(get_ratio(0, 1) == 1000000);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1018|  14.1k|    CHECK(get_ratio(1, 0) == 50);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1019|  14.1k|    CHECK(get_ratio(1, 1) == 1000050);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1020|  14.1k|    CHECK(get_ratio(1, 9) == 9000050);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1021|  14.1k|    CHECK(get_ratio(1, 10) == 9999999);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1022|  14.1k|    CHECK(get_ratio(1, 11) == 9999999);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1023|  14.1k|    CHECK(get_ratio(100000, 100000) == 1000050);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1024|  14.1k|    CHECK(get_ratio(100000, 200000) == 2000050);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1025|  14.1k|    CHECK(get_ratio(UPX_RSIZE_MAX, UPX_RSIZE_MAX) == 1000050);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1026|  14.1k|    CHECK(get_ratio(2 * UPX_RSIZE_MAX, 2 * UPX_RSIZE_MAX) == 1000050);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1027|  14.1k|    CHECK(get_ratio(2 * UPX_RSIZE_MAX, 1024ull * UPX_RSIZE_MAX) == 9999999);
  ------------------
  |  | 2968|  14.1k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.1k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.1k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.1k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.1k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.1k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.1k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.1k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.1k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.1k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.1k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.1k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.1k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.1k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.1k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.1k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.1k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.1k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.1k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.1k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.1k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.1k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.1k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.1k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1028|  14.1k|}

_Z20mem_size_valid_bytesy:
   36|  1.42M|inline bool mem_size_valid_bytes(upx_uint64_t bytes) noexcept { return bytes <= UPX_RSIZE_MAX; }
  ------------------
  |  |  169|  1.42M|#define UPX_RSIZE_MAX     UPX_RSIZE_MAX_MEM
  |  |  ------------------
  |  |  |  |  170|  1.42M|#define UPX_RSIZE_MAX_MEM (768 * 1024 * 1024) // DO NOT CHANGE !!!
  |  |  ------------------
  ------------------
_Z8mem_sizeyy:
   50|  10.0M|inline upx_rsize_t mem_size(upx_uint64_t element_size, upx_uint64_t n) may_throw {
   51|  10.0M|    upx_uint64_t bytes = element_size * n;
   52|  10.0M|    if very_unlikely (element_size == 0 || element_size > UPX_RSIZE_MAX || n > UPX_RSIZE_MAX ||
  ------------------
  |  |  245|  10.0M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  10.0M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  60.3M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 42.5k, False: 10.0M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 10.0M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 10.0M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 42.5k, False: 10.0M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 4, False: 10.0M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   53|  42.5k|                      bytes > UPX_RSIZE_MAX)
   54|  42.5k|        return mem_size(element_size, n, 0, 0); // this will throw
   55|  10.0M|    return ACC_ICONV(upx_rsize_t, bytes);
  ------------------
  |  | 1546|  10.0M|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  10.0M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
   56|  10.0M|}
_Z14mem_size_get_nyy:
   59|  13.2k|inline upx_rsize_t mem_size_get_n(upx_uint64_t element_size, upx_uint64_t n) may_throw {
   60|  13.2k|    (void) mem_size(element_size, n); // assert size
   61|  13.2k|    return ACC_ICONV(upx_rsize_t, n); // and return n
  ------------------
  |  | 1546|  13.2k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  13.2k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
   62|  13.2k|}
_Z15mem_size_assertyy:
   65|   454k|inline void mem_size_assert(upx_uint64_t element_size, upx_uint64_t n) may_throw {
   66|   454k|    (void) mem_size(element_size, n); // assert size
   67|   454k|}
_Z24mem_size_assert_noexceptyy:
   68|  28.2k|inline void mem_size_assert_noexcept(upx_uint64_t element_size, upx_uint64_t n) noexcept {
   69|  28.2k|    assert_noexcept(mem_size_valid(element_size, n)); // assert size
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   70|  28.2k|}
_Z15ptr_get_addressPKv:
  120|  33.1M|forceinline upx_ptraddr_t ptr_get_address(const void *p) noexcept { return (upx_uintptr_t) p; }
_Z12ptraddr_diffPKvS0_:
  124|  8.12M|forceinline upx_sptraddr_t ptraddr_diff(const void *a, const void *b) noexcept {
  125|  8.12M|    return ptr_get_address(a) - ptr_get_address(b);
  126|  8.12M|}
_Z14ptr_is_alignedPKvm:
  133|  28.2k|forceinline bool ptr_is_aligned(const void *p, size_t alignment) noexcept {
  134|  28.2k|    assert_noexcept(upx::has_single_bit(alignment));
  ------------------
  |  |  496|  28.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  135|      0|    return (ptr_get_address(p) & (alignment - 1)) == 0;
  136|  28.2k|}
_Z20ptr_check_no_overlapPKvmS0_m:
  162|      3|    may_throw {
  163|      3|    ptraddr_check_no_overlap(ptr_get_address(a), a_size, ptr_get_address(b), b_size);
  164|      3|}
_Z25ptr_invalidate_and_poisonIiEvRPT_:
  179|  99.0k|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  180|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  181|       |    // TODO later: examine __builtin_cheri_bounds_set()
  182|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  183|       |#else
  184|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  185|  99.0k|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  186|  99.0k|#endif
  187|  99.0k|}
_Z25ptr_invalidate_and_poisonIdEvRPT_:
  179|  14.1k|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  180|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  181|       |    // TODO later: examine __builtin_cheri_bounds_set()
  182|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  183|       |#else
  184|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  185|  14.1k|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  186|  14.1k|#endif
  187|  14.1k|}
_Z14ptr_is_alignedILm16EEbPKv:
  129|  28.2k|forceinline bool ptr_is_aligned(const void *p) noexcept {
  130|  28.2k|    static_assert(upx::has_single_bit(Alignment));
  131|  28.2k|    return (ptr_get_address(p) & (Alignment - 1)) == 0;
  132|  28.2k|}
_Z4NewTI4LE32EPT_y:
   74|  28.2k|inline T *NewT(upx_uint64_t n) may_throw {
   75|  28.2k|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   76|  28.2k|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   77|  28.2k|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   78|  28.2k|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   79|  28.2k|    T *array = new T[size_t(n)];
   80|  28.2k|#if !defined(__SANITIZE_MEMORY__)
   81|  28.2k|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  242|  28.2k|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|  56.5k|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|  28.2k|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   83|  28.2k|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|  28.2k|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|  28.2k|    __extension__                                                 \
  |  |  |  |  427|  28.2k|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|  28.2k|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|  28.2k|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|  28.2k|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|  28.2k|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|  28.2k|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|  28.2k|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|  28.2k|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|  28.2k|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|  28.2k|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|  28.2k|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|  28.2k|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|  28.2k|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|  28.2k|                     : "cc", "memory"                             \
  |  |  |  |  441|  28.2k|                    );                                            \
  |  |  |  |  442|  28.2k|    _zzq_result;                                                  \
  |  |  |  |  443|  28.2k|    })
  |  |  ------------------
  |  |  121|  28.2k|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|  28.2k|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   84|  28.2k|    }
   85|  28.2k|#endif
   86|  28.2k|    UNUSED(bytes);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   87|  28.2k|    return array;
   88|  28.2k|}
_Z4NewTI4BE32EPT_y:
   74|  28.2k|inline T *NewT(upx_uint64_t n) may_throw {
   75|  28.2k|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   76|  28.2k|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   77|  28.2k|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  247|  28.2k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  28.2k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   78|  28.2k|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   79|  28.2k|    T *array = new T[size_t(n)];
   80|  28.2k|#if !defined(__SANITIZE_MEMORY__)
   81|  28.2k|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  242|  28.2k|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|  56.5k|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 28.2k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 28.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|  28.2k|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   83|  28.2k|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|  28.2k|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|  28.2k|    __extension__                                                 \
  |  |  |  |  427|  28.2k|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|  28.2k|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|  28.2k|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|  28.2k|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|  28.2k|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|  28.2k|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|  28.2k|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|  28.2k|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|  28.2k|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|  28.2k|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|  28.2k|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|  28.2k|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|  28.2k|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|  28.2k|                     : "cc", "memory"                             \
  |  |  |  |  441|  28.2k|                    );                                            \
  |  |  |  |  442|  28.2k|    _zzq_result;                                                  \
  |  |  |  |  443|  28.2k|    })
  |  |  ------------------
  |  |  121|  28.2k|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|  28.2k|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   84|  28.2k|    }
   85|  28.2k|#endif
   86|  28.2k|    UNUSED(bytes);
  ------------------
  |  |  249|  28.2k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  28.2k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   87|  28.2k|    return array;
   88|  28.2k|}
_Z4NewTIN6LeFile23le_object_table_entry_tEEPT_y:
   74|    270|inline T *NewT(upx_uint64_t n) may_throw {
   75|    270|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  247|    270|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    270|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   76|    270|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  247|    270|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    270|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   77|    270|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  247|    270|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    270|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   78|    270|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   79|    270|    T *array = new T[size_t(n)];
   80|    270|#if !defined(__SANITIZE_MEMORY__)
   81|    270|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  242|    270|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    533|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 260, False: 10]
  |  |  |  |  |  Branch (2016:54): [True: 263, False: 7]
  |  |  |  |  |  Branch (2016:54): [True: 260, False: 3]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|    260|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   83|    260|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    260|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    260|    __extension__                                                 \
  |  |  |  |  427|    260|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    260|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    260|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    260|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    260|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    260|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    260|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    260|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    260|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    260|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    260|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    260|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    260|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    260|                     : "cc", "memory"                             \
  |  |  |  |  441|    260|                    );                                            \
  |  |  |  |  442|    260|    _zzq_result;                                                  \
  |  |  |  |  443|    260|    })
  |  |  ------------------
  |  |  121|    260|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    260|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   84|    260|    }
   85|    270|#endif
   86|    270|    UNUSED(bytes);
  ------------------
  |  |  249|    270|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    270|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   87|    270|    return array;
   88|    270|}
_Z4NewTIN6LeFile18le_pagemap_entry_tEEPT_y:
   74|    212|inline T *NewT(upx_uint64_t n) may_throw {
   75|    212|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  247|    212|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    212|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   76|    212|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  247|    212|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    212|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   77|    212|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  247|    212|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    212|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   78|    212|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   79|    212|    T *array = new T[size_t(n)];
   80|    212|#if !defined(__SANITIZE_MEMORY__)
   81|    212|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  242|    212|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    424|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 212, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 212, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 212, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|    212|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   83|    212|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    212|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    212|    __extension__                                                 \
  |  |  |  |  427|    212|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    212|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    212|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    212|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    212|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    212|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    212|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    212|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    212|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    212|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    212|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    212|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    212|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    212|                     : "cc", "memory"                             \
  |  |  |  |  441|    212|                    );                                            \
  |  |  |  |  442|    212|    _zzq_result;                                                  \
  |  |  |  |  443|    212|    })
  |  |  ------------------
  |  |  121|    212|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    212|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   84|    212|    }
   85|    212|#endif
   86|    212|    UNUSED(bytes);
  ------------------
  |  |  249|    212|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    212|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   87|    212|    return array;
   88|    212|}
_Z4NewTIhEPT_y:
   74|    534|inline T *NewT(upx_uint64_t n) may_throw {
   75|    534|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  247|    534|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    534|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   76|    534|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  247|    534|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    534|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   77|    534|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  247|    534|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    534|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   78|    534|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   79|    534|    T *array = new T[size_t(n)];
   80|    534|#if !defined(__SANITIZE_MEMORY__)
   81|    534|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  242|    534|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|  1.01k|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 293, False: 241]
  |  |  |  |  |  Branch (2016:54): [True: 484, False: 50]
  |  |  |  |  |  Branch (2016:54): [True: 293, False: 191]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|    293|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   83|    293|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    293|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    293|    __extension__                                                 \
  |  |  |  |  427|    293|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    293|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    293|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    293|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    293|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    293|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    293|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    293|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    293|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    293|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    293|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    293|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    293|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    293|                     : "cc", "memory"                             \
  |  |  |  |  441|    293|                    );                                            \
  |  |  |  |  442|    293|    _zzq_result;                                                  \
  |  |  |  |  443|    293|    })
  |  |  ------------------
  |  |  121|    293|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    293|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   84|    293|    }
   85|    534|#endif
   86|    534|    UNUSED(bytes);
  ------------------
  |  |  249|    534|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    534|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   87|    534|    return array;
   88|    534|}
_Z4NewTIjEPT_y:
   74|    123|inline T *NewT(upx_uint64_t n) may_throw {
   75|    123|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  247|    123|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    123|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   76|    123|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  247|    123|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    123|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   77|    123|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  247|    123|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    123|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   78|    123|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   79|    123|    T *array = new T[size_t(n)];
   80|    123|#if !defined(__SANITIZE_MEMORY__)
   81|    123|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  242|    123|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    246|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 123, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 123, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 123, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|    123|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   83|    123|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    123|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    123|    __extension__                                                 \
  |  |  |  |  427|    123|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    123|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    123|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    123|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    123|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    123|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    123|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    123|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    123|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    123|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    123|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    123|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    123|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    123|                     : "cc", "memory"                             \
  |  |  |  |  441|    123|                    );                                            \
  |  |  |  |  442|    123|    _zzq_result;                                                  \
  |  |  |  |  443|    123|    })
  |  |  ------------------
  |  |  121|    123|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    123|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   84|    123|    }
   85|    123|#endif
   86|    123|    UNUSED(bytes);
  ------------------
  |  |  249|    123|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    123|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   87|    123|    return array;
   88|    123|}
_Z25ptr_invalidate_and_poisonIhEvRPT_:
  179|      6|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  180|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  181|       |    // TODO later: examine __builtin_cheri_bounds_set()
  182|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  183|       |#else
  184|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  185|      6|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  186|      6|#endif
  187|      6|}
_Z25ptr_invalidate_and_poisonIN6PeFile5Reloc9BaseRelocEEvRPT_:
  179|      3|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  180|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  181|       |    // TODO later: examine __builtin_cheri_bounds_set()
  182|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  183|       |#else
  184|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  185|      3|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  186|      3|#endif
  187|      3|}
_Z25ptr_invalidate_and_poisonI4LE16EvRPT_:
  179|      3|inline void ptr_invalidate_and_poison(T *(&ptr)) noexcept {
  180|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  181|       |    // TODO later: examine __builtin_cheri_bounds_set()
  182|       |    ptr = upx::ptr_static_cast<T *>(&ptr); // FIXME: HACK: point to address of self
  183|       |#else
  184|       |    // pretend there is some memory-mapped I/O at address 0x00000200
  185|      3|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  186|      3|#endif
  187|      3|}
_Z5New0TIPN6PeFile8Resource9upx_rnodeEEPT_y:
   96|    108|inline T *New0T(upx_uint64_t n) may_throw {
   97|    108|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  247|    108|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    108|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   98|    108|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  247|    108|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    108|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   99|    108|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  247|    108|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    108|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  100|    108|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
  101|    108|    T *array = new T[size_t(n)];
  102|    108|    if likely (array != nullptr && bytes > 0)
  ------------------
  |  |  242|    108|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    216|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 108, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 108, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 108, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  103|    108|        memset(array, 0, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
  104|    108|    return array;
  105|    108|}
_Z8ptr_diffIhhENSt3__19enable_ifIXaaeqstT_Li1EeqstT0_Li1EEiE4typeEPKS2_PKS3_:
  146|  42.4k|ptr_diff(const T *a, const U *b) may_throw {
  147|  42.4k|    return ptr_diff_bytes(a, b);
  148|  42.4k|}
_Z9ptr_udiffIhhENSt3__19enable_ifIXaaeqstT_Li1EeqstT0_Li1EEjE4typeEPKS2_PKS3_:
  151|  42.4k|ptr_udiff(const T *a, const U *b) may_throw {
  152|  42.4k|    return ptr_udiff_bytes(a, b);
  153|  42.4k|}

_ZN5XSpan18xspan_fail_nullptrEv:
   47|  28.2k|void xspan_fail_nullptr() may_throw {
   48|  28.2k|    xspan_stats.fail_nullptr += 1;
   49|  28.2k|    throwCantPack("xspan unexpected NULL pointer; take care!");
   50|  28.2k|}
_ZN5XSpan22xspan_fail_range_rangeEv:
   68|  56.6k|void xspan_fail_range_range() may_throw {
   69|  56.6k|    xspan_stats.fail_range_range += 1;
   70|  56.6k|    throwCantPack("xspan_check_range: pointer out of range; take care!");
   71|  56.6k|}
_ZN5XSpan17xspan_check_rangeEPKvS1_l:
   73|  7.60M|void xspan_check_range(const void *ptr, const void *base, ptrdiff_t size_in_bytes) may_throw {
   74|  7.60M|    xspan_stats.check_range_counter += 1;
   75|  7.60M|    if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|  7.60M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  7.60M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  7.60M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 7.60M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   76|      0|        xspan_fail_range_nullptr();
   77|  7.60M|    if very_unlikely (base == nullptr)
  ------------------
  |  |  245|  7.60M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  7.60M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  7.60M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 7.60M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   78|      0|        xspan_fail_range_nullbase();
   79|  7.60M|    upx_sptraddr_t off = ptraddr_diff(ptr, base);
   80|  7.60M|    if very_unlikely (off < 0 || off > size_in_bytes || size_in_bytes > UPX_RSIZE_MAX)
  ------------------
  |  |  245|  7.60M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  7.60M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  30.3M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 56.6k, False: 7.55M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 7.60M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 56.6k, False: 7.55M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 7.55M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   81|  56.6k|        xspan_fail_range_range();
   82|       |    // NO_fprintf(stderr, "xspan_check_range done %zu\n", size_t(xspan_stats.check_range_counter));
   83|  7.60M|}

_Z15ptr_udiff_bytesItcEjRKN5XSpan15PtrOrSpanOrNullIT_EERKNS1_IT0_EE:
  177|  28.2k|XSPAN_FWD_TU_VOIDPTR(unsigned) ptr_udiff_bytes(const C<T> &a, const C<U> &b) {
  178|  28.2k|    return ptr_udiff_bytes(a.raw_bytes(0), b.raw_bytes(0));
  179|  28.2k|}
_Z15ptr_udiff_bytesItcEjRKN5XSpan9PtrOrSpanIT_EERKNS0_15PtrOrSpanOrNullIT0_EE:
  181|  28.2k|XSPAN_FWD_TU_VOIDPTR(unsigned) ptr_udiff_bytes(const C<T> &a, const D<U> &b) {
  182|  28.2k|    return ptr_udiff_bytes(a.raw_bytes(0), b.raw_bytes(0));
  183|  28.2k|}
_Z15ptr_udiff_bytesItcEjRKN5XSpan4SpanIT_EERKNS0_15PtrOrSpanOrNullIT0_EE:
  181|  28.2k|XSPAN_FWD_TU_VOIDPTR(unsigned) ptr_udiff_bytes(const C<T> &a, const D<U> &b) {
  182|  28.2k|    return ptr_udiff_bytes(a.raw_bytes(0), b.raw_bytes(0));
  183|  28.2k|}
_Z15ptr_udiff_bytesItcEjRKN5XSpan15PtrOrSpanOrNullIT_EERKNS0_9PtrOrSpanIT0_EE:
  181|  28.2k|XSPAN_FWD_TU_VOIDPTR(unsigned) ptr_udiff_bytes(const C<T> &a, const D<U> &b) {
  182|  28.2k|    return ptr_udiff_bytes(a.raw_bytes(0), b.raw_bytes(0));
  183|  28.2k|}
_Z15ptr_udiff_bytesItcEjRKN5XSpan9PtrOrSpanIT_EERKNS1_IT0_EE:
  177|  28.2k|XSPAN_FWD_TU_VOIDPTR(unsigned) ptr_udiff_bytes(const C<T> &a, const C<U> &b) {
  178|  28.2k|    return ptr_udiff_bytes(a.raw_bytes(0), b.raw_bytes(0));
  179|  28.2k|}
_Z15ptr_udiff_bytesItcEjRKN5XSpan4SpanIT_EERKNS0_9PtrOrSpanIT0_EE:
  186|  28.2k|XSPAN_FWD_TU_VOIDPTR(unsigned) ptr_udiff_bytes(const C<T> &a, const E<U> &b) {
  187|  28.2k|    return ptr_udiff_bytes(a.raw_bytes(0), b.raw_bytes(0));
  188|  28.2k|}
_Z15ptr_udiff_bytesItcEjRKN5XSpan15PtrOrSpanOrNullIT_EERKNS0_4SpanIT0_EE:
  186|  28.2k|XSPAN_FWD_TU_VOIDPTR(unsigned) ptr_udiff_bytes(const C<T> &a, const E<U> &b) {
  187|  28.2k|    return ptr_udiff_bytes(a.raw_bytes(0), b.raw_bytes(0));
  188|  28.2k|}
_Z15ptr_udiff_bytesItcEjRKN5XSpan9PtrOrSpanIT_EERKNS0_4SpanIT0_EE:
  186|  28.2k|XSPAN_FWD_TU_VOIDPTR(unsigned) ptr_udiff_bytes(const C<T> &a, const E<U> &b) {
  187|  28.2k|    return ptr_udiff_bytes(a.raw_bytes(0), b.raw_bytes(0));
  188|  28.2k|}
_Z15ptr_udiff_bytesItcEjRKN5XSpan4SpanIT_EERKNS1_IT0_EE:
  177|  28.2k|XSPAN_FWD_TU_VOIDPTR(unsigned) ptr_udiff_bytes(const C<T> &a, const C<U> &b) {
  178|  28.2k|    return ptr_udiff_bytes(a.raw_bytes(0), b.raw_bytes(0));
  179|  28.2k|}
_Z6memcmpIhEiPKvRK13MemBufferBaseIT_Em:
   77|  14.1k|inline int memcmp(const void *a, const C<T> &b, size_t n) {
   78|  14.1k|    return memcmp(a, b.raw_bytes(n), n);
   79|  14.1k|}
_Z6memcpyIhEPv13MemBufferBaseIT_EPKvm:
   95|  1.22k|inline void *memcpy(const C<T> a, const void *b, size_t n) {
   96|  1.22k|    return memcpy(a.raw_bytes(n), b, n);
   97|  1.22k|}
_Z8get_le32IKhEjRKN5XSpan4SpanIT_EE:
  245|  94.6k|inline unsigned get_le32(const C<T> &a) {
  246|  94.6k|    return get_le32(a.raw_bytes(4));
  247|  94.6k|}
_Z8get_le16IhEjRKN5XSpan4SpanIT_EE:
  237|     55|inline unsigned get_le16(const C<T> &a) {
  238|     55|    return get_le16(a.raw_bytes(2));
  239|     55|}
_Z8get_le32IhEjRK13MemBufferBaseIT_E:
  245|   226k|inline unsigned get_le32(const C<T> &a) {
  246|   226k|    return get_le32(a.raw_bytes(4));
  247|   226k|}
_Z8get_le32IhEjRKN5XSpan4SpanIT_EE:
  245|  92.4k|inline unsigned get_le32(const C<T> &a) {
  246|  92.4k|    return get_le32(a.raw_bytes(4));
  247|  92.4k|}
_Z8set_le32IhEvRKN5XSpan4SpanIT_EEj:
  296|  27.3k|inline void set_le32(const C<T> &a, unsigned v) {
  297|  27.3k|    set_le32(a.raw_bytes(4), v);
  298|  27.3k|}
_Z8get_le16IKhEjRKN5XSpan4SpanIT_EE:
  237|  1.70k|inline unsigned get_le16(const C<T> &a) {
  238|  1.70k|    return get_le16(a.raw_bytes(2));
  239|  1.70k|}
_Z6memcpyIhhEPvRK13MemBufferBaseIT_ERKS1_IT0_Em:
  102|    308|XSPAN_FWD_TU_VOIDPTR(void *) memcpy(const C<T> &a, const C<U> &b, size_t n) {
  103|    308|    return memcpy(a.raw_bytes(n), b.raw_bytes(n), n);
  104|    308|}
_Z6memsetIhEPvRK13MemBufferBaseIT_Eim:
  139|  28.2k|inline void *memset(const C<T> &a, int v, size_t n) {
  140|  28.2k|    return memset(a.raw_bytes(n), v, n);
  141|  28.2k|}
_Z6memcpyIhEPvS0_RKN5XSpan4SpanIT_EEm:
   99|    142|inline void *memcpy(void *a, const C<T> &b, size_t n) {
  100|    142|    return memcpy(a, b.raw_bytes(n), n);
  101|    142|}
_Z6memcmpIhEiRK13MemBufferBaseIT_EPKvm:
   73|  28.2k|inline int memcmp(const C<T> &a, const void *b, size_t n) {
   74|  28.2k|    return memcmp(a.raw_bytes(n), b, n);
   75|  28.2k|}
_Z6memcpyIhEPvN5XSpan4SpanIT_EEPKvm:
   95|    172|inline void *memcpy(const C<T> a, const void *b, size_t n) {
   96|    172|    return memcpy(a.raw_bytes(n), b, n);
   97|    172|}
_Z8get_le32IhEjRKN5XSpan9PtrOrSpanIT_EE:
  245|  27.3k|inline unsigned get_le32(const C<T> &a) {
  246|  27.3k|    return get_le32(a.raw_bytes(4));
  247|  27.3k|}
_Z8set_be32IhEvRKN5XSpan9PtrOrSpanIT_EEj:
  279|  27.3k|inline void set_be32(const C<T> &a, unsigned v) {
  280|  27.3k|    set_be32(a.raw_bytes(4), v);
  281|  27.3k|}
_Z8get_le64IhEyRKN5XSpan9PtrOrSpanIT_EE:
  249|  5.07k|inline upx_uint64_t get_le64(const C<T> &a) {
  250|  5.07k|    return get_le64(a.raw_bytes(8));
  251|  5.07k|}
_Z8set_be64IhEvRKN5XSpan9PtrOrSpanIT_EEy:
  283|  5.07k|inline void set_be64(const C<T> &a, upx_uint64_t v) {
  284|  5.07k|    set_be64(a.raw_bytes(8), v);
  285|  5.07k|}
_Z15ptr_udiff_bytesI4LE32EjRKN5XSpan4SpanIT_EEPKv:
  170|      3|inline unsigned ptr_udiff_bytes(const C<T> &a, const void *b) {
  171|      3|    return ptr_udiff_bytes(a.raw_bytes(0), b);
  172|      3|}
_Z8get_le24IKhEjRKN5XSpan4SpanIT_EE:
  241|    327|inline unsigned get_le24(const C<T> &a) {
  242|    327|    return get_le24(a.raw_bytes(3));
  243|    327|}
_Z8get_be32IKhEjRKN5XSpan4SpanIT_EE:
  228|  6.42k|inline unsigned get_be32(const C<T> &a) {
  229|  6.42k|    return get_be32(a.raw_bytes(4));
  230|  6.42k|}
_Z8set_ne32IhEvRKN5XSpan9PtrOrSpanIT_EEj:
  262|  32.4k|inline void set_ne32(const C<T> &a, unsigned v) {
  263|  32.4k|    set_ne32(a.raw_bytes(4), v);
  264|  32.4k|}
_Z8get_ne32IKhEjRKN5XSpan9PtrOrSpanIT_EE:
  211|  32.4k|inline unsigned get_ne32(const C<T> &a) {
  212|  32.4k|    return get_ne32(a.raw_bytes(4));
  213|  32.4k|}
_Z14ptr_diff_bytesI4LE16hEiRKN5XSpan15PtrOrSpanOrNullIT_EERKNS2_IT0_EE:
  155|  32.4k|XSPAN_FWD_TU_VOIDPTR(int) ptr_diff_bytes(const C<T> &a, const C<U> &b) {
  156|  32.4k|    return ptr_diff_bytes(a.raw_bytes(0), b.raw_bytes(0));
  157|  32.4k|}
_Z8get_le64IhEyRKN5XSpan4SpanIT_EE:
  249|  5.07k|inline upx_uint64_t get_le64(const C<T> &a) {
  250|  5.07k|    return get_le64(a.raw_bytes(8));
  251|  5.07k|}
_Z8set_le64IhEvRKN5XSpan4SpanIT_EEy:
  300|  5.07k|inline void set_le64(const C<T> &a, upx_uint64_t v) {
  301|  5.07k|    set_le64(a.raw_bytes(8), v);
  302|  5.07k|}
_Z6memcpyIKhEPvS1_RKN5XSpan4SpanIT_EEm:
   99|     19|inline void *memcpy(void *a, const C<T> &b, size_t n) {
  100|     19|    return memcpy(a, b.raw_bytes(n), n);
  101|     19|}
_Z15upx_safe_strlenIKhENSt3__19enable_ifIXeqstT_Li1EEmE4typeERKN5XSpan4SpanIS3_EE:
  341|  12.5k|inline typename std::enable_if<sizeof(T) == 1, upx_rsize_t>::type upx_safe_strlen(const C<T> &a) {
  342|       |    // not fully checked, but can require at least 1 byte
  343|  12.5k|    upx_rsize_t len = upx_safe_strlen(a.raw_bytes(1));
  344|  12.5k|    (void) a.raw_bytes(len + 1); // now can do a full check
  345|  12.5k|    return len;
  346|  12.5k|}
_Z7memmoveIhKhEPvRKN5XSpan4SpanIT_EERKNS3_IT0_EEm:
  124|  6.29k|XSPAN_FWD_TU_VOIDPTR(void *) memmove(const C<T> &a, const C<U> &b, size_t n) {
  125|  6.29k|    return memmove(a.raw_bytes(n), b.raw_bytes(n), n);
  126|  6.29k|}
_Z6memcmpIhhEiRK13MemBufferBaseIT_ERKS0_IT0_Em:
   80|  28.2k|XSPAN_FWD_TU_VOIDPTR(int) memcmp(const C<T> &a, const C<U> &b, size_t n) {
   81|  28.2k|    return memcmp(a.raw_bytes(n), b.raw_bytes(n), n);
   82|  28.2k|}
_Z8get_ne16IhEjRK13MemBufferBaseIT_E:
  203|   226k|inline unsigned get_ne16(const C<T> &a) {
  204|   226k|    return get_ne16(a.raw_bytes(2));
  205|   226k|}
_Z8get_be16IhEjRK13MemBufferBaseIT_E:
  220|   226k|inline unsigned get_be16(const C<T> &a) {
  221|   226k|    return get_be16(a.raw_bytes(2));
  222|   226k|}
_Z8get_le16IhEjRK13MemBufferBaseIT_E:
  237|   226k|inline unsigned get_le16(const C<T> &a) {
  238|   226k|    return get_le16(a.raw_bytes(2));
  239|   226k|}
_Z8set_ne16IhEvRK13MemBufferBaseIT_Ej:
  254|   226k|inline void set_ne16(const C<T> &a, unsigned v) {
  255|   226k|    set_ne16(a.raw_bytes(2), v);
  256|   226k|}
_Z8set_be16IhEvRK13MemBufferBaseIT_Ej:
  271|   226k|inline void set_be16(const C<T> &a, unsigned v) {
  272|   226k|    set_be16(a.raw_bytes(2), v);
  273|   226k|}
_Z8set_le16IhEvRK13MemBufferBaseIT_Ej:
  288|   226k|inline void set_le16(const C<T> &a, unsigned v) {
  289|   226k|    set_le16(a.raw_bytes(2), v);
  290|   226k|}
_Z8get_ne24IhEjRK13MemBufferBaseIT_E:
  207|   226k|inline unsigned get_ne24(const C<T> &a) {
  208|   226k|    return get_ne24(a.raw_bytes(3));
  209|   226k|}
_Z8get_be24IhEjRK13MemBufferBaseIT_E:
  224|   226k|inline unsigned get_be24(const C<T> &a) {
  225|   226k|    return get_be24(a.raw_bytes(3));
  226|   226k|}
_Z8get_le24IhEjRK13MemBufferBaseIT_E:
  241|   226k|inline unsigned get_le24(const C<T> &a) {
  242|   226k|    return get_le24(a.raw_bytes(3));
  243|   226k|}
_Z8set_ne24IhEvRK13MemBufferBaseIT_Ej:
  258|   226k|inline void set_ne24(const C<T> &a, unsigned v) {
  259|   226k|    set_ne24(a.raw_bytes(3), v);
  260|   226k|}
_Z8set_be24IhEvRK13MemBufferBaseIT_Ej:
  275|   226k|inline void set_be24(const C<T> &a, unsigned v) {
  276|   226k|    set_be24(a.raw_bytes(3), v);
  277|   226k|}
_Z8set_le24IhEvRK13MemBufferBaseIT_Ej:
  292|   226k|inline void set_le24(const C<T> &a, unsigned v) {
  293|   226k|    set_le24(a.raw_bytes(3), v);
  294|   226k|}
_Z8get_ne32IhEjRK13MemBufferBaseIT_E:
  211|   226k|inline unsigned get_ne32(const C<T> &a) {
  212|   226k|    return get_ne32(a.raw_bytes(4));
  213|   226k|}
_Z8get_be32IhEjRK13MemBufferBaseIT_E:
  228|   226k|inline unsigned get_be32(const C<T> &a) {
  229|   226k|    return get_be32(a.raw_bytes(4));
  230|   226k|}
_Z8set_ne32IhEvRK13MemBufferBaseIT_Ej:
  262|   226k|inline void set_ne32(const C<T> &a, unsigned v) {
  263|   226k|    set_ne32(a.raw_bytes(4), v);
  264|   226k|}
_Z8set_be32IhEvRK13MemBufferBaseIT_Ej:
  279|   226k|inline void set_be32(const C<T> &a, unsigned v) {
  280|   226k|    set_be32(a.raw_bytes(4), v);
  281|   226k|}
_Z8set_le32IhEvRK13MemBufferBaseIT_Ej:
  296|   226k|inline void set_le32(const C<T> &a, unsigned v) {
  297|   226k|    set_le32(a.raw_bytes(4), v);
  298|   226k|}
_Z8get_ne64IhEyRK13MemBufferBaseIT_E:
  215|   226k|inline upx_uint64_t get_ne64(const C<T> &a) {
  216|   226k|    return get_ne64(a.raw_bytes(8));
  217|   226k|}
_Z8get_be64IhEyRK13MemBufferBaseIT_E:
  232|   226k|inline upx_uint64_t get_be64(const C<T> &a) {
  233|   226k|    return get_be64(a.raw_bytes(8));
  234|   226k|}
_Z8get_le64IhEyRK13MemBufferBaseIT_E:
  249|   226k|inline upx_uint64_t get_le64(const C<T> &a) {
  250|   226k|    return get_le64(a.raw_bytes(8));
  251|   226k|}
_Z8set_ne64IhEvRK13MemBufferBaseIT_Ey:
  266|   226k|inline void set_ne64(const C<T> &a, upx_uint64_t v) {
  267|   226k|    set_ne64(a.raw_bytes(8), v);
  268|   226k|}
_Z8set_be64IhEvRK13MemBufferBaseIT_Ey:
  283|   226k|inline void set_be64(const C<T> &a, upx_uint64_t v) {
  284|   226k|    set_be64(a.raw_bytes(8), v);
  285|   226k|}
_Z8set_le64IhEvRK13MemBufferBaseIT_Ey:
  300|   226k|inline void set_le64(const C<T> &a, upx_uint64_t v) {
  301|   226k|    set_le64(a.raw_bytes(8), v);
  302|   226k|}

_ZN5XSpan14XSpanDebugFile4makeEPKcm:
   61|  1.54M|    static forceinline_constexpr XSpanDebugFile make(const char *f, size_t l) noexcept {
   62|  1.54M|        return XSpanDebugFile(f, l);
   63|  1.54M|    }
_ZN5XSpan14XSpanDebugFileC2Ev:
   64|  3.28M|    forceinline_constexpr XSpanDebugFile() noexcept : src_file(nullptr), src_line(0) {}
_ZN5XSpan14XSpanDebugFileC2EPKcm:
   66|  1.54M|    explicit forceinline_constexpr XSpanDebugFile(const char *f, size_t l) noexcept : src_file(f),
   67|  1.54M|                                                                                      src_line(l) {}
_ZN5XSpan16XSpanSizeInBytesC2Em:
   94|   972k|    explicit forceinline_constexpr XSpanSizeInBytes(size_t bytes) noexcept : size_in_bytes(bytes) {}
_ZN5XSpan21XSpanInternalDummyArgC2EONS0_9DummyEnumE:
  266|   738k|    explicit forceinline_constexpr XSpanInternalDummyArg(DummyEnum &&) noexcept {}
dt_cxxlib.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|   848k|static inline size_t xspan_mem_size(size_t n) {
  137|   848k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|   848k|}
dt_cxxlib.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|   848k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|   848k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|   848k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|   848k|}
dt_xspan.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|  3.83M|static inline size_t xspan_mem_size(size_t n) {
  137|  3.83M|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  3.83M|}
dt_xspan.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|  3.83M|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  3.83M|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  3.83M|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  3.83M|}
dt_xspan.cpp:_ZN5XSpanL14xspan_mem_sizeIKcEEmm:
  136|  56.5k|static inline size_t xspan_mem_size(size_t n) {
  137|  56.5k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  56.5k|}
dt_xspan.cpp:_ZN5XSpanL19xspan_mem_size_implIKcEEmm:
  125|  56.5k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  56.5k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  56.5k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  56.5k|}
dt_xspan.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIcEEvl:
  141|  3.60M|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  3.60M|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 3.60M, False: 0]
  ------------------
  143|  3.60M|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  3.60M|}
dt_xspan.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffItEEvl:
  141|  84.8k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  84.8k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 84.8k, False: 0]
  ------------------
  143|  84.8k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  84.8k|}
dt_xspan.cpp:_ZN5XSpanL14xspan_mem_sizeItEEmm:
  136|  84.8k|static inline size_t xspan_mem_size(size_t n) {
  137|  84.8k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  84.8k|}
dt_xspan.cpp:_ZN5XSpanL19xspan_mem_size_implItEEmm:
  125|  84.8k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  84.8k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  84.8k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  84.8k|}
lefile.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|    191|static inline size_t xspan_mem_size(size_t n) {
  137|    191|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|    191|}
lefile.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|    191|static inline size_t xspan_mem_size_impl(size_t n) {
  126|    191|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|    191|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|    191|}
lefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  141|     41|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|     41|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 41, False: 0]
  ------------------
  143|     41|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|     41|}
lefile.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  136|     41|static inline size_t xspan_mem_size(size_t n) {
  137|     41|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|     41|}
lefile.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  125|     41|static inline size_t xspan_mem_size_impl(size_t n) {
  126|     41|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|     41|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|     41|}
p_com.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|  87.5k|static inline size_t xspan_mem_size(size_t n) {
  137|  87.5k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  87.5k|}
p_com.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|  87.5k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  87.5k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  87.5k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  87.5k|}
p_djgpp2.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|  2.99k|static inline size_t xspan_mem_size(size_t n) {
  137|  2.99k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  2.99k|}
p_djgpp2.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|  2.99k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  2.99k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  2.99k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  2.99k|}
p_exe.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  141|  65.3k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  65.3k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 65.3k, False: 0]
  ------------------
  143|  65.3k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  65.3k|}
p_exe.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  136|  65.3k|static inline size_t xspan_mem_size(size_t n) {
  137|  65.3k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  65.3k|}
p_exe.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  125|  65.3k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  65.3k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  65.3k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  65.3k|}
p_exe.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  141|   515k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|   515k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 515k, False: 0]
  ------------------
  143|   515k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|   515k|}
p_exe.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  136|   515k|static inline size_t xspan_mem_size(size_t n) {
  137|   515k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|   515k|}
p_exe.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  125|   515k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|   515k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|   515k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|   515k|}
p_exe.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|  32.6k|static inline size_t xspan_mem_size(size_t n) {
  137|  32.6k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  32.6k|}
p_exe.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|  32.6k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  32.6k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  32.6k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  32.6k|}
packer.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  136|  35.9k|static inline size_t xspan_mem_size(size_t n) {
  137|  35.9k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  35.9k|}
packer.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  125|  35.9k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  35.9k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  35.9k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  35.9k|}
packer_r.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  141|  64.9k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  64.9k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 64.9k, False: 0]
  ------------------
  143|  64.9k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  64.9k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  136|  64.9k|static inline size_t xspan_mem_size(size_t n) {
  137|  64.9k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  64.9k|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  125|  64.9k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  64.9k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  64.9k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  64.9k|}
packer_r.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  141|  2.75k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  2.75k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 2.75k, False: 0]
  ------------------
  143|  2.75k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  2.75k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  136|  2.75k|static inline size_t xspan_mem_size(size_t n) {
  137|  2.75k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  2.75k|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  125|  2.75k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  2.75k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  2.75k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  2.75k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|      3|static inline size_t xspan_mem_size(size_t n) {
  137|      3|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|      3|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|      3|static inline size_t xspan_mem_size_impl(size_t n) {
  126|      3|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|      3|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|      3|}
packer_r.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE32EEvl:
  141|  32.4k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  32.4k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 32.4k, False: 0]
  ------------------
  143|  32.4k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  32.4k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE32EEmm:
  136|  32.4k|static inline size_t xspan_mem_size(size_t n) {
  137|  32.4k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  32.4k|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE32EEmm:
  125|  32.4k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  32.4k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  32.4k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  32.4k|}
packhead.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  141|   254k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|   254k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 254k, False: 0]
  ------------------
  143|   254k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|   254k|}
packhead.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  136|   254k|static inline size_t xspan_mem_size(size_t n) {
  137|   254k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|   254k|}
packhead.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  125|   254k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|   254k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|   254k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|   254k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  141|   111k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|   111k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 111k, False: 0]
  ------------------
  143|   111k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|   111k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  136|   111k|static inline size_t xspan_mem_size(size_t n) {
  137|   111k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|   111k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  125|   111k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|   111k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|   111k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|   111k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  141|  45.9k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  45.9k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 45.9k, False: 0]
  ------------------
  143|  45.9k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  45.9k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  136|  45.9k|static inline size_t xspan_mem_size(size_t n) {
  137|  45.9k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  45.9k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  125|  45.9k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  45.9k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  45.9k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  45.9k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE16EEvl:
  141|  32.4k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  32.4k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 32.4k, False: 0]
  ------------------
  143|  32.4k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  32.4k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE16EEmm:
  136|  32.4k|static inline size_t xspan_mem_size(size_t n) {
  137|  32.4k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  32.4k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE16EEmm:
  125|  32.4k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  32.4k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  32.4k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  32.4k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIN6PeFile12pe_section_tEEEvl:
  141|  1.50k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  1.50k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 1.50k, False: 0]
  ------------------
  143|  1.50k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  1.50k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIN6PeFile12pe_section_tEEEmm:
  136|  1.50k|static inline size_t xspan_mem_size(size_t n) {
  137|  1.50k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  1.50k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIN6PeFile12pe_section_tEEEmm:
  125|  1.50k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  1.50k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  1.50k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  1.50k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|    670|static inline size_t xspan_mem_size(size_t n) {
  137|    670|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|    670|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|    670|static inline size_t xspan_mem_size_impl(size_t n) {
  126|    670|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|    670|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|    670|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE32EEvl:
  141|  5.97k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  5.97k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 5.97k, False: 0]
  ------------------
  143|  5.97k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  5.97k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE32EEmm:
  136|  5.97k|static inline size_t xspan_mem_size(size_t n) {
  137|  5.97k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  5.97k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE32EEmm:
  125|  5.97k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  5.97k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  5.97k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  5.97k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIN6PeFile11import_descEEEvl:
  141|    172|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|    172|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 172, False: 0]
  ------------------
  143|    172|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|    172|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIN6PeFile11import_descEEEmm:
  136|    172|static inline size_t xspan_mem_size(size_t n) {
  137|    172|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|    172|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIN6PeFile11import_descEEEmm:
  125|    172|static inline size_t xspan_mem_size_impl(size_t n) {
  126|    172|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|    172|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|    172|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE64EEvl:
  141|    325|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|    325|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 325, False: 0]
  ------------------
  143|    325|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|    325|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE64EEmm:
  136|    325|static inline size_t xspan_mem_size(size_t n) {
  137|    325|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|    325|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE64EEmm:
  125|    325|static inline size_t xspan_mem_size_impl(size_t n) {
  126|    325|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|    325|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|    325|}

_ZN5XSpan15PtrOrSpanOrNullIiEC2ERKNS_14XSpanDebugFileEPiNS_16XSpanSizeInBytesE:
  143|   212k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|   212k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|   212k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|   212k|        assertInvariants();
  146|   212k|    }
_ZN5XSpan15PtrOrSpanOrNullIiE7makePtrEPi:
   84|   212k|    static inline pointer makePtr(pointer p) {
   85|   212k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   212k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 212k]
  |  |  |  Branch (1558:47): [Folded, False: 212k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|   212k|        return p;
   88|   212k|    }
_ZN5XSpan15PtrOrSpanOrNullIiE8makeBaseEPi:
   89|   212k|    static inline pointer makeBase(pointer b) {
   90|   212k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   212k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 212k]
  |  |  |  Branch (1558:47): [Folded, False: 212k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|   212k|        return b;
   93|   212k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE16assertInvariantsEv:
   75|   466k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIiEeqEPi:
  394|   113k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullIiED2Ev:
  116|   325k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIiE9ensurePtrEv:
   95|  56.5k|    inline pointer ensurePtr() const {
   96|  56.5k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 56.5k]
  |  |  |  Branch (1558:47): [True: 56.5k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 56.5k]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  56.5k|        return ptr;
   99|  56.5k|    }
_ZNK5XSpan9PtrOrSpanIiE16assertInvariantsEv:
   75|   424k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIiEeqEPi:
  394|   113k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanIiED2Ev:
  116|   268k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIiE10ensureBaseEv:
  100|  28.2k|    inline pointer ensureBase() const {
  101|  28.2k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 28.2k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 28.2k]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|  28.2k|        return base;
  104|  28.2k|    }
_ZNK5XSpan4SpanIiE16assertInvariantsEv:
   75|   424k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIiEeqEPi:
  394|   113k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanIiED2Ev:
  116|   268k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIiEC2ERKNS_14XSpanDebugFileEPiNS_16XSpanSizeInBytesE:
  143|   212k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|   212k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|   212k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|   212k|        assertInvariants();
  146|   212k|    }
_ZN5XSpan9PtrOrSpanIiE7makePtrEPi:
   84|   212k|    static inline pointer makePtr(pointer p) {
   85|   212k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   424k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 212k]
  |  |  |  Branch (1558:47): [True: 212k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 212k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|   212k|        return p;
   88|   212k|    }
_ZN5XSpan9PtrOrSpanIiE8makeBaseEPi:
   89|   212k|    static inline pointer makeBase(pointer b) {
   90|   212k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   212k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 212k]
  |  |  |  Branch (1558:47): [Folded, False: 212k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|   212k|        return b;
   93|   212k|    }
_ZNK5XSpan9PtrOrSpanIiE9ensurePtrEv:
   95|  28.2k|    inline pointer ensurePtr() const {
   96|  28.2k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  28.2k|        return ptr;
   99|  28.2k|    }
_ZNK5XSpan9PtrOrSpanIiE10ensureBaseEv:
  100|  28.2k|    inline pointer ensureBase() const {
  101|  28.2k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 28.2k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 28.2k]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|  28.2k|        return base;
  104|  28.2k|    }
_ZN5XSpan4SpanIiEC2ERKNS_14XSpanDebugFileEPiNS_16XSpanSizeInBytesE:
  143|   212k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|   212k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|   212k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|   212k|        assertInvariants();
  146|   212k|    }
_ZN5XSpan4SpanIiE7makePtrEPi:
   84|   212k|    static inline pointer makePtr(pointer p) {
   85|   212k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   424k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 212k]
  |  |  |  Branch (1558:47): [True: 212k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 212k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|   212k|        return p;
   88|   212k|    }
_ZN5XSpan4SpanIiE8makeBaseEPi:
   89|   212k|    static inline pointer makeBase(pointer b) {
   90|   212k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   424k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 212k]
  |  |  |  Branch (1558:47): [True: 212k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 212k]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|   212k|        return b;
   93|   212k|    }
_ZNK5XSpan4SpanIiE9ensurePtrEv:
   95|  28.2k|    inline pointer ensurePtr() const {
   96|  28.2k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  28.2k|        return ptr;
   99|  28.2k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE9type_castI4LE32EENS0_IT_EEv:
  383|  28.2k|    CSelf<U> type_cast() const {
  384|  28.2k|        typedef CSelf<U> R;
  385|  28.2k|        typedef typename R::pointer rpointer;
  386|  28.2k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  28.2k|                upx::ptr_static_cast<rpointer>(base));
  388|  28.2k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  28.2k|        r.f = f;
  390|  28.2k|#endif
  391|  28.2k|        return r;
  392|  28.2k|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE32EC2ENS2_13ModeUncheckedEPS1_mS4_:
  265|  28.2k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  28.2k|        assertInvariants();
  267|  28.2k|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE32E16assertInvariantsEv:
   75|  28.2k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullI4LE32EeqEPS1_:
  394|  28.2k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullI4LE32ED2Ev:
  116|  28.2k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanIiE9type_castI4LE32EENS0_IT_EEv:
  383|  28.2k|    CSelf<U> type_cast() const {
  384|  28.2k|        typedef CSelf<U> R;
  385|  28.2k|        typedef typename R::pointer rpointer;
  386|  28.2k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  28.2k|                upx::ptr_static_cast<rpointer>(base));
  388|  28.2k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  28.2k|        r.f = f;
  390|  28.2k|#endif
  391|  28.2k|        return r;
  392|  28.2k|    }
_ZN5XSpan9PtrOrSpanI4LE32EC2ENS2_13ModeUncheckedEPS1_mS4_:
  265|  28.2k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  28.2k|        assertInvariants();
  267|  28.2k|    }
_ZNK5XSpan9PtrOrSpanI4LE32E16assertInvariantsEv:
   75|  28.2k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanI4LE32EeqEPS1_:
  394|  28.2k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanI4LE32ED2Ev:
  116|  28.2k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanIiE9type_castI4LE32EENS0_IT_EEv:
  383|  28.2k|    CSelf<U> type_cast() const {
  384|  28.2k|        typedef CSelf<U> R;
  385|  28.2k|        typedef typename R::pointer rpointer;
  386|  28.2k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  28.2k|                upx::ptr_static_cast<rpointer>(base));
  388|  28.2k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  28.2k|        r.f = f;
  390|  28.2k|#endif
  391|  28.2k|        return r;
  392|  28.2k|    }
_ZN5XSpan4SpanI4LE32EC2ENS2_13ModeUncheckedEPS1_mS4_:
  265|  28.2k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  28.2k|        assertInvariants();
  267|  28.2k|    }
_ZNK5XSpan4SpanI4LE32E16assertInvariantsEv:
   75|   143k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanI4LE32EeqEPS1_:
  394|  28.2k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanI4LE32ED2Ev:
  116|  60.9k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIiE10invalidateEv:
  118|  28.2k|    noinline void invalidate() {
  119|  28.2k|        assertInvariants();
  120|  28.2k|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  121|  28.2k|        base = ptr;                     // point to non-null invalid address
  122|  28.2k|        size_in_bytes = 0;
  123|  28.2k|        assertInvariants();
  124|  28.2k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiEneEPi:
  400|  42.4k|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZN5XSpan9PtrOrSpanIiE10invalidateEv:
  118|  28.2k|    noinline void invalidate() {
  119|  28.2k|        assertInvariants();
  120|  28.2k|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  121|  28.2k|        base = ptr;                     // point to non-null invalid address
  122|  28.2k|        size_in_bytes = 0;
  123|  28.2k|        assertInvariants();
  124|  28.2k|    }
_ZNK5XSpan9PtrOrSpanIiEneEPi:
  400|  28.2k|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZN5XSpan4SpanIiE10invalidateEv:
  118|  28.2k|    noinline void invalidate() {
  119|  28.2k|        assertInvariants();
  120|  28.2k|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  121|  28.2k|        base = ptr;                     // point to non-null invalid address
  122|  28.2k|        size_in_bytes = 0;
  123|  28.2k|        assertInvariants();
  124|  28.2k|    }
_ZNK5XSpan4SpanIiEneEPi:
  400|  28.2k|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZNK5XSpan15PtrOrSpanOrNullIiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_iEE5valueElE4typeERKNS0_IS5_EE:
  354|  42.4k|    operator-(const CSelf<U> &other) const {
  355|  42.4k|        assertInvariants();
  356|  42.4k|        other.assertInvariants();
  357|  42.4k|        return check_ptrdiff(ptr, other.ptr);
  358|  42.4k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE13check_ptrdiffEPiS2_:
  542|  42.4k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  543|  42.4k|        assertInvariants();
  544|  42.4k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  245|  42.4k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  42.4k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  56.5k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 42.4k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 14.1k, False: 28.2k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 14.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  545|      0|            xspan_fail_nullptr();
  546|  42.4k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  245|  42.4k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  42.4k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  70.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 42.4k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 28.2k, False: 14.1k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 28.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  547|      0|            xspan_fail_nullptr();
  548|  42.4k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (548:13): [True: 28.2k, False: 14.1k]
  |  Branch (548:29): [True: 28.2k, False: 0]
  ------------------
  549|  28.2k|            (void) ptr_diff_bytes(a, b);
  550|  42.4k|        return a - b;
  551|  42.4k|    }
_ZNK5XSpan9PtrOrSpanIiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_iEE5valueElE4typeERKNS0_IS5_EE:
  354|  28.2k|    operator-(const CSelf<U> &other) const {
  355|  28.2k|        assertInvariants();
  356|  28.2k|        other.assertInvariants();
  357|  28.2k|        return check_ptrdiff(ptr, other.ptr);
  358|  28.2k|    }
_ZNK5XSpan9PtrOrSpanIiE13check_ptrdiffEPiS2_:
  542|  28.2k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  543|  28.2k|        assertInvariants();
  544|  28.2k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  245|  28.2k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  28.2k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  28.2k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  545|      0|            xspan_fail_nullptr();
  546|  28.2k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  245|  28.2k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  28.2k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  56.5k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 28.2k, False: 0]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 28.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  547|      0|            xspan_fail_nullptr();
  548|  28.2k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (548:13): [True: 28.2k, False: 0]
  |  Branch (548:29): [True: 28.2k, False: 0]
  ------------------
  549|  28.2k|            (void) ptr_diff_bytes(a, b);
  550|  28.2k|        return a - b;
  551|  28.2k|    }
_ZNK5XSpan4SpanIiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_iEE5valueElE4typeERKNS0_IS5_EE:
  354|  28.2k|    operator-(const CSelf<U> &other) const {
  355|  28.2k|        assertInvariants();
  356|  28.2k|        other.assertInvariants();
  357|  28.2k|        return check_ptrdiff(ptr, other.ptr);
  358|  28.2k|    }
_ZNK5XSpan4SpanIiE13check_ptrdiffEPiS2_:
  542|  28.2k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  543|  28.2k|        assertInvariants();
  544|  28.2k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  245|  28.2k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  28.2k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  28.2k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  545|      0|            xspan_fail_nullptr();
  546|  28.2k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  245|  28.2k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  28.2k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  56.5k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 28.2k, False: 0]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 28.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  547|      0|            xspan_fail_nullptr();
  548|  28.2k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (548:13): [True: 28.2k, False: 0]
  |  Branch (548:29): [True: 28.2k, False: 0]
  ------------------
  549|  28.2k|            (void) ptr_diff_bytes(a, b);
  550|  28.2k|        return a - b;
  551|  28.2k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueElE4typeERKNS0_IS6_EE:
  354|  14.1k|    operator-(const CSelf<U> &other) const {
  355|  14.1k|        assertInvariants();
  356|  14.1k|        other.assertInvariants();
  357|  14.1k|        return check_ptrdiff(ptr, other.ptr);
  358|  14.1k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKiE16assertInvariantsEv:
   75|  84.8k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKiE13check_ptrdiffEPS1_S3_:
  542|  28.2k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  543|  28.2k|        assertInvariants();
  544|  28.2k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  245|  28.2k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  28.2k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  56.5k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 28.2k, False: 0]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 28.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  545|      0|            xspan_fail_nullptr();
  546|  28.2k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  245|  28.2k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  28.2k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  28.2k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 28.2k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  547|      0|            xspan_fail_nullptr();
  548|  28.2k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (548:13): [True: 0, False: 28.2k]
  |  Branch (548:29): [True: 0, False: 0]
  ------------------
  549|      0|            (void) ptr_diff_bytes(a, b);
  550|  28.2k|        return a - b;
  551|  28.2k|    }
_ZN5XSpan15PtrOrSpanOrNullIKiED2Ev:
  116|  42.4k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKiEmiIS1_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueElE4typeERKNS0_IS6_EE:
  354|  14.1k|    operator-(const CSelf<U> &other) const {
  355|  14.1k|        assertInvariants();
  356|  14.1k|        other.assertInvariants();
  357|  14.1k|        return check_ptrdiff(ptr, other.ptr);
  358|  14.1k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE9type_castIK4LE32EENS0_IT_EEv:
  383|  14.1k|    CSelf<U> type_cast() const {
  384|  14.1k|        typedef CSelf<U> R;
  385|  14.1k|        typedef typename R::pointer rpointer;
  386|  14.1k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  14.1k|                upx::ptr_static_cast<rpointer>(base));
  388|  14.1k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  14.1k|        r.f = f;
  390|  14.1k|#endif
  391|  14.1k|        return r;
  392|  14.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIK4LE32EC2ENS3_13ModeUncheckedEPS2_mS5_:
  265|  28.2k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  28.2k|        assertInvariants();
  267|  28.2k|    }
_ZNK5XSpan15PtrOrSpanOrNullIK4LE32E16assertInvariantsEv:
   75|  28.2k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIK4LE32EeqEPS2_:
  394|  28.2k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullIK4LE32ED2Ev:
  116|  28.2k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanIiE9type_castIK4LE32EENS0_IT_EEv:
  383|  14.1k|    CSelf<U> type_cast() const {
  384|  14.1k|        typedef CSelf<U> R;
  385|  14.1k|        typedef typename R::pointer rpointer;
  386|  14.1k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  14.1k|                upx::ptr_static_cast<rpointer>(base));
  388|  14.1k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  14.1k|        r.f = f;
  390|  14.1k|#endif
  391|  14.1k|        return r;
  392|  14.1k|    }
_ZN5XSpan9PtrOrSpanIK4LE32EC2ENS3_13ModeUncheckedEPS2_mS5_:
  265|  28.2k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  28.2k|        assertInvariants();
  267|  28.2k|    }
_ZNK5XSpan9PtrOrSpanIK4LE32E16assertInvariantsEv:
   75|  28.2k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIK4LE32EeqEPS2_:
  394|  28.2k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanIK4LE32ED2Ev:
  116|  28.2k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanIiE9type_castIK4LE32EENS0_IT_EEv:
  383|  14.1k|    CSelf<U> type_cast() const {
  384|  14.1k|        typedef CSelf<U> R;
  385|  14.1k|        typedef typename R::pointer rpointer;
  386|  14.1k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  14.1k|                upx::ptr_static_cast<rpointer>(base));
  388|  14.1k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  14.1k|        r.f = f;
  390|  14.1k|#endif
  391|  14.1k|        return r;
  392|  14.1k|    }
_ZN5XSpan4SpanIK4LE32EC2ENS3_13ModeUncheckedEPS2_mS5_:
  265|  28.2k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  28.2k|        assertInvariants();
  267|  28.2k|    }
_ZNK5XSpan4SpanIK4LE32E16assertInvariantsEv:
   75|  28.2k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIK4LE32EeqEPS2_:
  394|  28.2k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanIK4LE32ED2Ev:
  116|  28.2k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  143|  70.7k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  70.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|  70.7k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|  70.7k|        assertInvariants();
  146|  70.7k|    }
_ZN5XSpan15PtrOrSpanOrNullIKhE7makePtrEPS1_:
   84|  70.7k|    static inline pointer makePtr(pointer p) {
   85|  70.7k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  70.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 70.7k]
  |  |  |  Branch (1558:47): [Folded, False: 70.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  70.7k|        return p;
   88|  70.7k|    }
_ZN5XSpan15PtrOrSpanOrNullIKhE8makeBaseEPS1_:
   89|  70.7k|    static inline pointer makeBase(pointer b) {
   90|  70.7k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  70.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 70.7k]
  |  |  |  Branch (1558:47): [Folded, False: 70.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  70.7k|        return b;
   93|  70.7k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKhE16assertInvariantsEv:
   75|  99.0k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKhEeqEPS1_:
  394|  56.5k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullIKhED2Ev:
  116|  99.0k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKhE9ensurePtrEv:
   95|  28.2k|    inline pointer ensurePtr() const {
   96|  28.2k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 28.2k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 28.2k]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  28.2k|        return ptr;
   99|  28.2k|    }
_ZNK5XSpan9PtrOrSpanIKhE16assertInvariantsEv:
   75|   265k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIKhEeqEPS1_:
  394|  56.5k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanIKhED2Ev:
  116|   177k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKhE10ensureBaseEv:
  100|  14.1k|    inline pointer ensureBase() const {
  101|  14.1k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 14.1k]
  |  |  |  Branch (1558:47): [True: 14.1k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|  14.1k|        return base;
  104|  14.1k|    }
_ZNK5XSpan4SpanIKhE16assertInvariantsEv:
   75|  2.33M|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIKhEeqEPS1_:
  394|  56.5k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanIKhED2Ev:
  116|   780k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  143|  70.7k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  70.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|  70.7k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|  70.7k|        assertInvariants();
  146|  70.7k|    }
_ZN5XSpan9PtrOrSpanIKhE7makePtrEPS1_:
   84|  93.6k|    static inline pointer makePtr(pointer p) {
   85|  93.6k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   187k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 93.6k]
  |  |  |  Branch (1558:47): [True: 93.6k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 93.6k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  93.6k|        return p;
   88|  93.6k|    }
_ZN5XSpan9PtrOrSpanIKhE8makeBaseEPS1_:
   89|  73.6k|    static inline pointer makeBase(pointer b) {
   90|  73.6k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  73.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 73.6k]
  |  |  |  Branch (1558:47): [Folded, False: 73.6k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  73.6k|        return b;
   93|  73.6k|    }
_ZNK5XSpan9PtrOrSpanIKhE9ensurePtrEv:
   95|  37.1k|    inline pointer ensurePtr() const {
   96|  37.1k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  37.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 37.1k]
  |  |  |  Branch (1558:47): [Folded, False: 37.1k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  37.1k|        return ptr;
   99|  37.1k|    }
_ZNK5XSpan9PtrOrSpanIKhE10ensureBaseEv:
  100|  14.1k|    inline pointer ensureBase() const {
  101|  14.1k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 14.1k]
  |  |  |  Branch (1558:47): [True: 14.1k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 14.1k]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|  14.1k|        return base;
  104|  14.1k|    }
_ZN5XSpan4SpanIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  143|  70.7k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  70.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|  70.7k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|  70.7k|        assertInvariants();
  146|  70.7k|    }
_ZN5XSpan4SpanIKhE7makePtrEPS1_:
   84|   106k|    static inline pointer makePtr(pointer p) {
   85|   106k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   213k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 106k]
  |  |  |  Branch (1558:47): [True: 106k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 106k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|   106k|        return p;
   88|   106k|    }
_ZN5XSpan4SpanIKhE8makeBaseEPS1_:
   89|   106k|    static inline pointer makeBase(pointer b) {
   90|   106k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   213k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 106k]
  |  |  |  Branch (1558:47): [True: 106k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 106k]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|   106k|        return b;
   93|   106k|    }
_ZNK5XSpan4SpanIKhE9ensurePtrEv:
   95|   549k|    inline pointer ensurePtr() const {
   96|   549k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   549k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 549k]
  |  |  |  Branch (1558:47): [Folded, False: 549k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|   549k|        return ptr;
   99|   549k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKhE9type_castIK4LE32EENS0_IT_EEv:
  383|  14.1k|    CSelf<U> type_cast() const {
  384|  14.1k|        typedef CSelf<U> R;
  385|  14.1k|        typedef typename R::pointer rpointer;
  386|  14.1k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  14.1k|                upx::ptr_static_cast<rpointer>(base));
  388|  14.1k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  14.1k|        r.f = f;
  390|  14.1k|#endif
  391|  14.1k|        return r;
  392|  14.1k|    }
_ZNK5XSpan9PtrOrSpanIKhE9type_castIK4LE32EENS0_IT_EEv:
  383|  14.1k|    CSelf<U> type_cast() const {
  384|  14.1k|        typedef CSelf<U> R;
  385|  14.1k|        typedef typename R::pointer rpointer;
  386|  14.1k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  14.1k|                upx::ptr_static_cast<rpointer>(base));
  388|  14.1k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  14.1k|        r.f = f;
  390|  14.1k|#endif
  391|  14.1k|        return r;
  392|  14.1k|    }
_ZNK5XSpan4SpanIKhE9type_castIK4LE32EENS0_IT_EEv:
  383|  14.1k|    CSelf<U> type_cast() const {
  384|  14.1k|        typedef CSelf<U> R;
  385|  14.1k|        typedef typename R::pointer rpointer;
  386|  14.1k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  14.1k|                upx::ptr_static_cast<rpointer>(base));
  388|  14.1k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  14.1k|        r.f = f;
  390|  14.1k|#endif
  391|  14.1k|        return r;
  392|  14.1k|    }
_ZNK5XSpan4SpanI4LE32E9ensurePtrEv:
   95|  32.4k|    inline pointer ensurePtr() const {
   96|  32.4k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  32.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  32.4k|        return ptr;
   99|  32.4k|    }
_ZNK5XSpan4SpanI4LE32E10ensureBaseEv:
  100|  32.4k|    inline pointer ensureBase() const {
  101|  32.4k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  32.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|  32.4k|        return base;
  104|  32.4k|    }
_ZNK5XSpan4SpanIKhE10ensureBaseEv:
  100|   535k|    inline pointer ensureBase() const {
  101|   535k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|   535k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 535k]
  |  |  |  Branch (1558:47): [Folded, False: 535k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|   535k|        return base;
  104|   535k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE16assertInvariantsEv:
   75|  2.53M|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIcE7makePtrEPc:
   84|   113k|    static inline pointer makePtr(pointer p) {
   85|   113k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   226k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 113k]
  |  |  |  Branch (1558:47): [True: 113k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 113k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|   113k|        return p;
   88|   113k|    }
_ZNK5XSpan9PtrOrSpanIcE16assertInvariantsEv:
   75|  2.47M|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|  70.7k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  70.7k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|  70.7k|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|  70.7k|        assertInvariants();
  158|  70.7k|    }
_ZN5XSpan4SpanIcE7makePtrEPc:
   84|  84.8k|    static inline pointer makePtr(pointer p) {
   85|  84.8k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 84.8k]
  |  |  |  Branch (1558:47): [True: 84.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 84.8k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  84.8k|        return p;
   88|  84.8k|    }
_ZN5XSpan4SpanIcE8makeBaseEPc:
   89|  84.8k|    static inline pointer makeBase(pointer b) {
   90|  84.8k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 84.8k]
  |  |  |  Branch (1558:47): [True: 84.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 84.8k]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  84.8k|        return b;
   93|  84.8k|    }
_ZNK5XSpan4SpanIcE16assertInvariantsEv:
   75|  2.47M|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKcE16assertInvariantsEv:
   75|  84.8k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIKcE7makePtrEPS1_:
   84|  28.2k|    static inline pointer makePtr(pointer p) {
   85|  28.2k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 28.2k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 28.2k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  28.2k|        return p;
   88|  28.2k|    }
_ZNK5XSpan9PtrOrSpanIKcE16assertInvariantsEv:
   75|  56.5k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIKcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|  28.2k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  28.2k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|  28.2k|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|  28.2k|        assertInvariants();
  158|  28.2k|    }
_ZN5XSpan4SpanIKcE7makePtrEPS1_:
   84|  28.2k|    static inline pointer makePtr(pointer p) {
   85|  28.2k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 28.2k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 28.2k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  28.2k|        return p;
   88|  28.2k|    }
_ZN5XSpan4SpanIKcE8makeBaseEPS1_:
   89|  28.2k|    static inline pointer makeBase(pointer b) {
   90|  28.2k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 28.2k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 28.2k]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  28.2k|        return b;
   93|  28.2k|    }
_ZNK5XSpan4SpanIKcE16assertInvariantsEv:
   75|  28.2k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIKcE9ensurePtrEv:
   95|  28.2k|    inline pointer ensurePtr() const {
   96|  28.2k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  28.2k|        return ptr;
   99|  28.2k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqEPc:
  394|  28.2k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  414|  28.2k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  415|  28.2k|        return ptr == other.ptr;
  416|  28.2k|    }
_ZNK5XSpan9PtrOrSpanIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  409|  28.2k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  410|  28.2k|        return ptr == other.ptr;
  411|  28.2k|    }
_ZNK5XSpan4SpanIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS_9PtrOrSpanIS5_EE:
  409|  28.2k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  410|  28.2k|        return ptr == other.ptr;
  411|  28.2k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKcEeqIS1_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueEbE4typeERKNS0_IS6_EE:
  414|  28.2k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  415|  28.2k|        return ptr == other.ptr;
  416|  28.2k|    }
_ZNK5XSpan9PtrOrSpanIKcEeqIS1_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueEbE4typeERKNS_15PtrOrSpanOrNullIS6_EE:
  414|  28.2k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  415|  28.2k|        return ptr == other.ptr;
  416|  28.2k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9raw_bytesEm:
  562|   226k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|   226k|        assertInvariants();
  564|   226k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 84.8k, False: 141k]
  ------------------
  565|  84.8k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   169k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 28.2k, False: 56.5k]
  |  |  |  Branch (1558:47): [True: 84.8k, Folded]
  |  |  |  Branch (1558:47): [True: 28.2k, False: 56.5k]
  |  |  ------------------
  ------------------
  566|  28.2k|                xspan_fail_nullptr();
  567|  56.5k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 28.2k, False: 28.2k]
  |  |  |  Branch (1558:47): [Folded, False: 56.5k]
  |  |  |  Branch (1558:47): [True: 28.2k, False: 28.2k]
  |  |  ------------------
  ------------------
  568|  28.2k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|  56.5k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|  56.5k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  56.5k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  56.5k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 56.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|  56.5k|        }
  572|   198k|        return ptr;
  573|   226k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE7raw_ptrEv:
  558|  56.5k|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan9PtrOrSpanIcE9raw_bytesEm:
  562|   169k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|   169k|        assertInvariants();
  564|   169k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 56.5k, False: 113k]
  ------------------
  565|  56.5k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 56.5k]
  |  |  |  Branch (1558:47): [Folded, False: 56.5k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|  56.5k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 28.2k, False: 28.2k]
  |  |  |  Branch (1558:47): [Folded, False: 56.5k]
  |  |  |  Branch (1558:47): [True: 28.2k, False: 28.2k]
  |  |  ------------------
  ------------------
  568|  28.2k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|  56.5k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|  56.5k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  56.5k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  56.5k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 56.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|  56.5k|        }
  572|   169k|        return ptr;
  573|   169k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE17raw_size_in_bytesEv:
  560|  28.2k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan9PtrOrSpanIcE17raw_size_in_bytesEv:
  560|  28.2k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan4SpanIcE9raw_bytesEm:
  562|   198k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|   198k|        assertInvariants();
  564|   198k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 113k, False: 84.8k]
  ------------------
  565|   113k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 113k]
  |  |  |  Branch (1558:47): [Folded, False: 113k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|   113k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   113k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 113k, Folded]
  |  |  |  Branch (1558:47): [True: 113k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|   113k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|   113k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|   113k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   113k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   113k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 113k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|   113k|        }
  572|   198k|        return ptr;
  573|   198k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEplEl:
  496|   523k|    Self operator+(ptrdiff_t n) const {
  497|   523k|        pointer first = check_add(ptr, n);
  498|   523k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|   523k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|   523k|        r.f = f;
  501|   523k|#endif
  502|   523k|        return r;
  503|   523k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9check_addEPcl:
  532|   976k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|   976k|        assertInvariants();
  534|   976k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  1.95M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 976k]
  |  |  |  Branch (1558:47): [True: 976k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 976k]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|   976k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|   976k|        p += n;
  538|   976k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  1.95M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 962k, False: 14.1k]
  |  |  |  Branch (1558:47): [Folded, False: 976k]
  |  |  |  Branch (1558:47): [True: 962k, False: 14.1k]
  |  |  ------------------
  ------------------
  539|   962k|            xspan_check_range(p, base, size_in_bytes);
  540|   976k|        return p;
  541|   976k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2ENS1_13ModeUncheckedEPcmS3_:
  265|   523k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|   523k|        assertInvariants();
  267|   523k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9type_castItEENS0_IT_EEv:
  383|  56.5k|    CSelf<U> type_cast() const {
  384|  56.5k|        typedef CSelf<U> R;
  385|  56.5k|        typedef typename R::pointer rpointer;
  386|  56.5k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  56.5k|                upx::ptr_static_cast<rpointer>(base));
  388|  56.5k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  56.5k|        r.f = f;
  390|  56.5k|#endif
  391|  56.5k|        return r;
  392|  56.5k|    }
_ZN5XSpan15PtrOrSpanOrNullItEC2ENS1_13ModeUncheckedEPtmS3_:
  265|  84.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  84.8k|        assertInvariants();
  267|  84.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullItE16assertInvariantsEv:
   75|   226k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIcED2Ev:
  116|   707k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanIcEplEl:
  496|   523k|    Self operator+(ptrdiff_t n) const {
  497|   523k|        pointer first = check_add(ptr, n);
  498|   523k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|   523k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|   523k|        r.f = f;
  501|   523k|#endif
  502|   523k|        return r;
  503|   523k|    }
_ZNK5XSpan9PtrOrSpanIcE9check_addEPcl:
  532|   976k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|   976k|        assertInvariants();
  534|   976k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   976k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 976k]
  |  |  |  Branch (1558:47): [Folded, False: 976k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|   976k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|   976k|        p += n;
  538|   976k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  1.95M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 962k, False: 14.1k]
  |  |  |  Branch (1558:47): [Folded, False: 976k]
  |  |  |  Branch (1558:47): [True: 962k, False: 14.1k]
  |  |  ------------------
  ------------------
  539|   962k|            xspan_check_range(p, base, size_in_bytes);
  540|   976k|        return p;
  541|   976k|    }
_ZN5XSpan9PtrOrSpanIcEC2ENS1_13ModeUncheckedEPcmS3_:
  265|   523k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|   523k|        assertInvariants();
  267|   523k|    }
_ZNK5XSpan9PtrOrSpanIcE9type_castItEENS0_IT_EEv:
  383|  56.5k|    CSelf<U> type_cast() const {
  384|  56.5k|        typedef CSelf<U> R;
  385|  56.5k|        typedef typename R::pointer rpointer;
  386|  56.5k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  56.5k|                upx::ptr_static_cast<rpointer>(base));
  388|  56.5k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  56.5k|        r.f = f;
  390|  56.5k|#endif
  391|  56.5k|        return r;
  392|  56.5k|    }
_ZN5XSpan9PtrOrSpanItEC2ENS1_13ModeUncheckedEPtmS3_:
  265|  84.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  84.8k|        assertInvariants();
  267|  84.8k|    }
_ZNK5XSpan9PtrOrSpanItE16assertInvariantsEv:
   75|   226k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIcED2Ev:
  116|   650k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanIcEplEl:
  496|   523k|    Self operator+(ptrdiff_t n) const {
  497|   523k|        pointer first = check_add(ptr, n);
  498|   523k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|   523k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|   523k|        r.f = f;
  501|   523k|#endif
  502|   523k|        return r;
  503|   523k|    }
_ZNK5XSpan4SpanIcE9check_addEPcl:
  532|   976k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|   976k|        assertInvariants();
  534|   976k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   976k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 976k]
  |  |  |  Branch (1558:47): [Folded, False: 976k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|   976k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|   976k|        p += n;
  538|   976k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   976k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 976k, Folded]
  |  |  |  Branch (1558:47): [True: 976k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|   976k|            xspan_check_range(p, base, size_in_bytes);
  540|   976k|        return p;
  541|   976k|    }
_ZN5XSpan4SpanIcEC2ENS1_13ModeUncheckedEPcmS3_:
  265|   523k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|   523k|        assertInvariants();
  267|   523k|    }
_ZNK5XSpan4SpanIcE9type_castItEENS0_IT_EEv:
  383|  56.5k|    CSelf<U> type_cast() const {
  384|  56.5k|        typedef CSelf<U> R;
  385|  56.5k|        typedef typename R::pointer rpointer;
  386|  56.5k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  56.5k|                upx::ptr_static_cast<rpointer>(base));
  388|  56.5k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  56.5k|        r.f = f;
  390|  56.5k|#endif
  391|  56.5k|        return r;
  392|  56.5k|    }
_ZN5XSpan4SpanItEC2ENS1_13ModeUncheckedEPtmS3_:
  265|  84.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  84.8k|        assertInvariants();
  267|  84.8k|    }
_ZNK5XSpan4SpanItE16assertInvariantsEv:
   75|   226k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIcED2Ev:
  116|   622k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullItE9raw_bytesEm:
  562|  84.8k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|  84.8k|        assertInvariants();
  564|  84.8k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 0, False: 84.8k]
  ------------------
  565|      0|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|      0|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|      0|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      0|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      0|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|      0|        }
  572|  84.8k|        return ptr;
  573|  84.8k|    }
_ZNK5XSpan9PtrOrSpanItE9raw_bytesEm:
  562|  84.8k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|  84.8k|        assertInvariants();
  564|  84.8k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 0, False: 84.8k]
  ------------------
  565|      0|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|      0|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|      0|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      0|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      0|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|      0|        }
  572|  84.8k|        return ptr;
  573|  84.8k|    }
_ZNK5XSpan4SpanItE9raw_bytesEm:
  562|  84.8k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|  84.8k|        assertInvariants();
  564|  84.8k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 0, False: 84.8k]
  ------------------
  565|      0|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|      0|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|      0|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      0|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      0|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|      0|        }
  572|  84.8k|        return ptr;
  573|  84.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullItEplEl:
  496|  28.2k|    Self operator+(ptrdiff_t n) const {
  497|  28.2k|        pointer first = check_add(ptr, n);
  498|  28.2k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|  28.2k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|  28.2k|        r.f = f;
  501|  28.2k|#endif
  502|  28.2k|        return r;
  503|  28.2k|    }
_ZNK5XSpan15PtrOrSpanOrNullItE9check_addEPtl:
  532|  28.2k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  28.2k|        assertInvariants();
  534|  28.2k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 28.2k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 28.2k]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  28.2k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  28.2k|        p += n;
  538|  28.2k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.1k, False: 14.1k]
  |  |  |  Branch (1558:47): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 14.1k, False: 14.1k]
  |  |  ------------------
  ------------------
  539|  14.1k|            xspan_check_range(p, base, size_in_bytes);
  540|  28.2k|        return p;
  541|  28.2k|    }
_ZN5XSpan15PtrOrSpanOrNullItED2Ev:
  116|   113k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanItEplEl:
  496|  28.2k|    Self operator+(ptrdiff_t n) const {
  497|  28.2k|        pointer first = check_add(ptr, n);
  498|  28.2k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|  28.2k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|  28.2k|        r.f = f;
  501|  28.2k|#endif
  502|  28.2k|        return r;
  503|  28.2k|    }
_ZNK5XSpan9PtrOrSpanItE9check_addEPtl:
  532|  28.2k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  28.2k|        assertInvariants();
  534|  28.2k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  28.2k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  28.2k|        p += n;
  538|  28.2k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  56.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.1k, False: 14.1k]
  |  |  |  Branch (1558:47): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 14.1k, False: 14.1k]
  |  |  ------------------
  ------------------
  539|  14.1k|            xspan_check_range(p, base, size_in_bytes);
  540|  28.2k|        return p;
  541|  28.2k|    }
_ZN5XSpan9PtrOrSpanItED2Ev:
  116|   113k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanItEplEl:
  496|  28.2k|    Self operator+(ptrdiff_t n) const {
  497|  28.2k|        pointer first = check_add(ptr, n);
  498|  28.2k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|  28.2k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|  28.2k|        r.f = f;
  501|  28.2k|#endif
  502|  28.2k|        return r;
  503|  28.2k|    }
_ZNK5XSpan4SpanItE9check_addEPtl:
  532|  28.2k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  28.2k|        assertInvariants();
  534|  28.2k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  28.2k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  28.2k|        p += n;
  538|  28.2k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 28.2k, Folded]
  |  |  |  Branch (1558:47): [True: 28.2k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|  28.2k|            xspan_check_range(p, base, size_in_bytes);
  540|  28.2k|        return p;
  541|  28.2k|    }
_ZN5XSpan4SpanItED2Ev:
  116|   113k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullItEeqItEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_tEE5valueEbE4typeERKNS0_IS5_EE:
  414|  28.2k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  415|  28.2k|        return ptr == other.ptr;
  416|  28.2k|    }
_ZNK5XSpan9PtrOrSpanItEeqItEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_tEE5valueEbE4typeERKNS0_IS5_EE:
  409|  28.2k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  410|  28.2k|        return ptr == other.ptr;
  411|  28.2k|    }
_ZNK5XSpan4SpanItEeqItEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_tEE5valueEbE4typeERKNS0_IS5_EE:
  419|  28.2k|    operator==(const Span<U> &other) const noexcept {
  420|  28.2k|        return ptr == other.ptr;
  421|  28.2k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcED2Ev:
  116|  84.8k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIKcED2Ev:
  116|  56.5k|forceinline ~CSelf() noexcept {}
_ZN5XSpan4SpanIKcED2Ev:
  116|  28.2k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|  56.5k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  56.5k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|  56.5k|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|  56.5k|        assertInvariants();
  158|  56.5k|    }
_ZN5XSpan15PtrOrSpanOrNullIcE7makePtrEPc:
   84|  70.7k|    static inline pointer makePtr(pointer p) {
   85|  70.7k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  70.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 70.7k]
  |  |  |  Branch (1558:47): [Folded, False: 70.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  70.7k|        return p;
   88|  70.7k|    }
_ZN5XSpan15PtrOrSpanOrNullIcE8makeBaseEPc:
   89|  70.7k|    static inline pointer makeBase(pointer b) {
   90|  70.7k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  70.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 70.7k]
  |  |  |  Branch (1558:47): [Folded, False: 70.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  70.7k|        return b;
   93|  70.7k|    }
_ZN5XSpan9PtrOrSpanIcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|  56.5k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  56.5k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|  56.5k|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|  56.5k|        assertInvariants();
  158|  56.5k|    }
_ZN5XSpan9PtrOrSpanIcE8makeBaseEPc:
   89|  70.7k|    static inline pointer makeBase(pointer b) {
   90|  70.7k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  70.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 70.7k]
  |  |  |  Branch (1558:47): [Folded, False: 70.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  70.7k|        return b;
   93|  70.7k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2IcEERKNS_14XSpanDebugFileEPcmPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  212|  14.1k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  14.1k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  213|  14.1k|          size_in_bytes(xspan_mem_size<T>(count)) {
  214|       |        // check invariants
  215|  14.1k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  84.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.1k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 14.1k]
  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 14.1k]
  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  ------------------
  ------------------
  216|  14.1k|                      (configRequireBase || base != nullptr))
  217|  14.1k|            xspan_check_range(ptr, base, size_in_bytes);
  218|       |        // double sanity check
  219|  14.1k|        assertInvariants();
  220|  14.1k|    }
_ZN5XSpan9PtrOrSpanIcEC2IcEERKNS_14XSpanDebugFileEPcmPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  212|  14.1k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  14.1k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  213|  14.1k|          size_in_bytes(xspan_mem_size<T>(count)) {
  214|       |        // check invariants
  215|  14.1k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  70.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.1k, False: 0]
  |  |  |  Branch (1558:47): [True: 14.1k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 14.1k]
  |  |  |  Branch (1558:47): [True: 14.1k, False: 0]
  |  |  ------------------
  ------------------
  216|  14.1k|                      (configRequireBase || base != nullptr))
  217|  14.1k|            xspan_check_range(ptr, base, size_in_bytes);
  218|       |        // double sanity check
  219|  14.1k|        assertInvariants();
  220|  14.1k|    }
_ZN5XSpan4SpanIcEC2IcEERKNS_14XSpanDebugFileEPcmPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  212|  14.1k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  14.1k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  213|  14.1k|          size_in_bytes(xspan_mem_size<T>(count)) {
  214|       |        // check invariants
  215|  14.1k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.1k, Folded]
  |  |  |  Branch (1558:47): [True: 14.1k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  216|  14.1k|                      (configRequireBase || base != nullptr))
  217|  14.1k|            xspan_check_range(ptr, base, size_in_bytes);
  218|       |        // double sanity check
  219|  14.1k|        assertInvariants();
  220|  14.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|  14.1k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  14.1k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|  14.1k|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|  14.1k|        assertInvariants();
  158|  14.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcE7makePtrEPS1_:
   84|  14.1k|    static inline pointer makePtr(pointer p) {
   85|  14.1k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  14.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 14.1k]
  |  |  |  Branch (1558:47): [Folded, False: 14.1k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  14.1k|        return p;
   88|  14.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcE8makeBaseEPS1_:
   89|  14.1k|    static inline pointer makeBase(pointer b) {
   90|  14.1k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  14.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 14.1k]
  |  |  |  Branch (1558:47): [Folded, False: 14.1k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  14.1k|        return b;
   93|  14.1k|    }
_ZN5XSpan9PtrOrSpanIKcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|  14.1k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  14.1k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|  14.1k|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|  14.1k|        assertInvariants();
  158|  14.1k|    }
_ZN5XSpan9PtrOrSpanIKcE8makeBaseEPS1_:
   89|  14.1k|    static inline pointer makeBase(pointer b) {
   90|  14.1k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  14.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 14.1k]
  |  |  |  Branch (1558:47): [Folded, False: 14.1k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  14.1k|        return b;
   93|  14.1k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS_9PtrOrSpanIS5_EE:
  409|  28.2k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  410|  28.2k|        return ptr == other.ptr;
  411|  28.2k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS_4SpanIS5_EE:
  419|  14.1k|    operator==(const Span<U> &other) const noexcept {
  420|  14.1k|        return ptr == other.ptr;
  421|  14.1k|    }
_ZNK5XSpan9PtrOrSpanItE9ensurePtrEv:
   95|  28.2k|    inline pointer ensurePtr() const {
   96|  28.2k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  28.2k|        return ptr;
   99|  28.2k|    }
_ZNK5XSpan4SpanItE9ensurePtrEv:
   95|  28.2k|    inline pointer ensurePtr() const {
   96|  28.2k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  28.2k|        return ptr;
   99|  28.2k|    }
_ZNK5XSpan4SpanItE10ensureBaseEv:
  100|  28.2k|    inline pointer ensureBase() const {
  101|  28.2k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  28.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [Folded, False: 28.2k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|  28.2k|        return base;
  104|  28.2k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEixEl:
  463|   226k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan15PtrOrSpanOrNullIcE11check_derefEPcl:
  522|   226k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|   226k|        assertInvariants();
  524|   226k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 226k]
  |  |  |  Branch (1558:47): [True: 226k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 226k]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|   226k|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|   226k|        p += n;
  528|   226k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 226k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 226k]
  |  |  |  Branch (1558:47): [True: 226k, False: 0]
  |  |  ------------------
  ------------------
  529|   226k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|   226k|        return p;
  531|   226k|    }
_ZNK5XSpan9PtrOrSpanIcEixEl:
  463|   226k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan9PtrOrSpanIcE11check_derefEPcl:
  522|   226k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|   226k|        assertInvariants();
  524|   226k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   226k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 226k]
  |  |  |  Branch (1558:47): [Folded, False: 226k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|   226k|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|   226k|        p += n;
  528|   226k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 226k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 226k]
  |  |  |  Branch (1558:47): [True: 226k, False: 0]
  |  |  ------------------
  ------------------
  529|   226k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|   226k|        return p;
  531|   226k|    }
_ZNK5XSpan4SpanIcEixEl:
  463|   226k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan4SpanIcE11check_derefEPcl:
  522|   226k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|   226k|        assertInvariants();
  524|   226k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   226k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 226k]
  |  |  |  Branch (1558:47): [Folded, False: 226k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|   226k|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|   226k|        p += n;
  528|   226k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   226k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 226k, Folded]
  |  |  |  Branch (1558:47): [True: 226k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|   226k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|   226k|        return p;
  531|   226k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEneIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  430|   240k|    operator!=(const PtrOrSpanOrNull<U> &other) const noexcept {
  431|   240k|        return ptr != other.ptr;
  432|   240k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEdeEv:
  460|   452k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan15PtrOrSpanOrNullIcE11check_derefEPc:
  514|   452k|    pointer check_deref(pointer p) const may_throw {
  515|   452k|        assertInvariants();
  516|   452k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   905k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 452k]
  |  |  |  Branch (1558:47): [True: 452k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 452k]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|   452k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   905k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 452k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 452k]
  |  |  |  Branch (1558:47): [True: 452k, False: 0]
  |  |  ------------------
  ------------------
  519|   452k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|   452k|        return p;
  521|   452k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEppEv:
  468|   452k|    Self &operator++() {
  469|   452k|        ptr = check_add(ptr, 1);
  470|   452k|        return *this;
  471|   452k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEltIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  450|   240k|    operator<(const PtrOrSpanOrNull<U> &other) const {
  451|   240k|        return ensurePtr() < other.ensurePtr();
  452|   240k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9ensurePtrEv:
   95|   481k|    inline pointer ensurePtr() const {
   96|   481k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   962k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 481k]
  |  |  |  Branch (1558:47): [True: 481k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 481k]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|   481k|        return ptr;
   99|   481k|    }
_ZNK5XSpan9PtrOrSpanIcE9ensurePtrEv:
   95|   495k|    inline pointer ensurePtr() const {
   96|   495k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   495k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 495k]
  |  |  |  Branch (1558:47): [Folded, False: 495k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|   495k|        return ptr;
   99|   495k|    }
_ZNK5XSpan9PtrOrSpanIcEneIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  425|   240k|    operator!=(const PtrOrSpan<U> &other) const noexcept {
  426|   240k|        return ptr != other.ptr;
  427|   240k|    }
_ZNK5XSpan9PtrOrSpanIcEdeEv:
  460|   452k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan9PtrOrSpanIcE11check_derefEPc:
  514|   452k|    pointer check_deref(pointer p) const may_throw {
  515|   452k|        assertInvariants();
  516|   452k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 452k]
  |  |  |  Branch (1558:47): [Folded, False: 452k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|   452k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   905k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 452k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 452k]
  |  |  |  Branch (1558:47): [True: 452k, False: 0]
  |  |  ------------------
  ------------------
  519|   452k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|   452k|        return p;
  521|   452k|    }
_ZN5XSpan9PtrOrSpanIcEppEv:
  468|   452k|    Self &operator++() {
  469|   452k|        ptr = check_add(ptr, 1);
  470|   452k|        return *this;
  471|   452k|    }
_ZNK5XSpan9PtrOrSpanIcEltIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  445|   240k|    operator<(const PtrOrSpan<U> &other) const {
  446|   240k|        return ensurePtr() < other.ensurePtr();
  447|   240k|    }
_ZNK5XSpan4SpanIcE9ensurePtrEv:
   95|   495k|    inline pointer ensurePtr() const {
   96|   495k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   495k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 495k]
  |  |  |  Branch (1558:47): [Folded, False: 495k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|   495k|        return ptr;
   99|   495k|    }
_ZNK5XSpan4SpanIcE10ensureBaseEv:
  100|  14.1k|    inline pointer ensureBase() const {
  101|  14.1k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  14.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 14.1k]
  |  |  |  Branch (1558:47): [Folded, False: 14.1k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|  14.1k|        return base;
  104|  14.1k|    }
_ZNK5XSpan4SpanIcEneIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  435|   240k|    operator!=(const Span<U> &other) const noexcept {
  436|   240k|        return ptr != other.ptr;
  437|   240k|    }
_ZNK5XSpan4SpanIcEdeEv:
  460|   452k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanIcE11check_derefEPc:
  514|   452k|    pointer check_deref(pointer p) const may_throw {
  515|   452k|        assertInvariants();
  516|   452k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 452k]
  |  |  |  Branch (1558:47): [Folded, False: 452k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|   452k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   452k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 452k, Folded]
  |  |  |  Branch (1558:47): [True: 452k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|   452k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|   452k|        return p;
  521|   452k|    }
_ZN5XSpan4SpanIcEppEv:
  468|   452k|    Self &operator++() {
  469|   452k|        ptr = check_add(ptr, 1);
  470|   452k|        return *this;
  471|   452k|    }
_ZNK5XSpan4SpanIcEltIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  455|   240k|    operator<(const Span<U> &other) const {
  456|   240k|        return ensurePtr() < other.ensurePtr();
  457|   240k|    }
_ZNK5XSpan9PtrOrSpanIvE9raw_bytesEm:
  562|   541k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|   541k|        assertInvariants();
  564|   541k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 540k, False: 416]
  ------------------
  565|   540k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   540k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 540k]
  |  |  |  Branch (1558:47): [Folded, False: 540k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|   540k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  1.08M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 62.1k, False: 478k]
  |  |  |  Branch (1558:47): [Folded, False: 540k]
  |  |  |  Branch (1558:47): [True: 62.1k, False: 478k]
  |  |  ------------------
  ------------------
  568|  62.1k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|   540k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|   540k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   540k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   540k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 540k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|   540k|        }
  572|   541k|        return ptr;
  573|   541k|    }
_ZNK5XSpan9PtrOrSpanIvE16assertInvariantsEv:
   75|  1.61M|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIvE9ensurePtrEv:
   95|   532k|    inline pointer ensurePtr() const {
   96|   532k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   532k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 532k]
  |  |  |  Branch (1558:47): [Folded, False: 532k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|   532k|        return ptr;
   99|   532k|    }
_ZN5XSpan9PtrOrSpanIvED2Ev:
  116|  1.07M|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKvE7raw_ptrEv:
  558|  23.5k|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan15PtrOrSpanOrNullIKvE17raw_size_in_bytesEv:
  560|  23.5k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan15PtrOrSpanOrNullIKvE8raw_baseEv:
  559|  23.5k|    pointer raw_base() const noexcept { return base; }
_ZNK5XSpan15PtrOrSpanOrNullIKvE9raw_bytesEm:
  562|  23.5k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|  23.5k|        assertInvariants();
  564|  23.5k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 23.5k, False: 0]
  ------------------
  565|  23.5k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  47.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 23.5k]
  |  |  |  Branch (1558:47): [True: 23.5k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 23.5k]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|  23.5k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  47.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 18.6k, False: 4.99k]
  |  |  |  Branch (1558:47): [Folded, False: 23.5k]
  |  |  |  Branch (1558:47): [True: 18.6k, False: 4.99k]
  |  |  ------------------
  ------------------
  568|  18.6k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|  23.5k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|  23.5k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  23.5k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  23.5k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 23.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|  23.5k|        }
  572|  23.5k|        return ptr;
  573|  23.5k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKvE16assertInvariantsEv:
   75|  47.2k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIKvED2Ev:
  116|  23.6k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanIKvE16assertInvariantsEv:
   75|    125|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIhE9raw_bytesEm:
  562|  51.1k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|  51.1k|        assertInvariants();
  564|  51.1k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 18.7k, False: 32.4k]
  ------------------
  565|  18.7k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  37.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 18.7k]
  |  |  |  Branch (1558:47): [True: 18.7k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 18.7k]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|  18.7k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  37.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 3.17k, False: 15.5k]
  |  |  |  Branch (1558:47): [Folded, False: 18.7k]
  |  |  |  Branch (1558:47): [True: 3.17k, False: 15.5k]
  |  |  ------------------
  ------------------
  568|  3.17k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|  18.7k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|  18.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  18.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  18.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 18.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|  18.7k|        }
  572|  51.1k|        return ptr;
  573|  51.1k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE16assertInvariantsEv:
   75|   200k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhED2Ev:
  116|   312k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIvE7makePtrEPv:
   84|   540k|    static inline pointer makePtr(pointer p) {
   85|   540k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  1.08M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 540k]
  |  |  |  Branch (1558:47): [True: 540k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 540k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|   540k|        return p;
   88|   540k|    }
_ZN5XSpan4SpanIhEC2ERKNS_14XSpanDebugFileER9MemBuffer:
  228|    191|        : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|    191|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   49|    191|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  229|    191|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIhE11makeNotNullEPh:
   78|  32.7k|    static inline pointer makeNotNull(pointer p) {
   79|  32.7k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|  32.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  32.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  32.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 32.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|  32.7k|        return p;
   82|  32.7k|    }
_ZN5XSpan4SpanIhEC2ERKNS_14XSpanDebugFileEPhNS_16XSpanSizeInBytesE:
  143|    191|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|    191|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|    191|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|    191|        assertInvariants();
  146|    191|    }
_ZN5XSpan4SpanIhE7makePtrEPh:
   84|  32.8k|    static inline pointer makePtr(pointer p) {
   85|  32.8k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  65.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 32.8k]
  |  |  |  Branch (1558:47): [True: 32.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 32.8k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  32.8k|        return p;
   88|  32.8k|    }
_ZN5XSpan4SpanIhE8makeBaseEPh:
   89|  32.7k|    static inline pointer makeBase(pointer b) {
   90|  32.7k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  65.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 32.7k]
  |  |  |  Branch (1558:47): [True: 32.7k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 32.7k]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  32.7k|        return b;
   93|  32.7k|    }
_ZNK5XSpan4SpanIhE16assertInvariantsEv:
   75|   335k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIhED2Ev:
  116|   111k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhE6assignERKS1_:
  304|    119|    Self &assign(const Self &other) {
  305|    119|        assertInvariants();
  306|    119|        other.assertInvariants();
  307|    119|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|    238|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 119, False: 0]
  |  |  |  Branch (1558:47): [True: 119, Folded]
  |  |  |  Branch (1558:47): [True: 119, False: 0]
  |  |  ------------------
  ------------------
  308|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  309|    119|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|    714|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 119, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 119]
  |  |  |  Branch (1558:47): [True: 119, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 119]
  |  |  |  Branch (1558:47): [True: 119, False: 0]
  |  |  ------------------
  ------------------
  310|    119|                          (configRequireBase || other.base != nullptr))
  311|    119|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  312|       |            // ok
  313|    119|            ptr = other.ptr;
  314|    119|            base = other.base;
  315|    119|            size_in_bytes = other.size_in_bytes;
  316|    119|        } else {
  317|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  318|      0|            if __acc_cte (configRequireBase || other.base != nullptr)
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  319|      0|                if very_unlikely (base != other.base)
  ------------------
  |  |  245|      0|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      0|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      0|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  320|      0|                    xspan_fail_not_same_base();
  321|      0|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  322|      0|                          (configRequireBase || base != nullptr))
  323|      0|                xspan_check_range(other.ptr, base, size_in_bytes);
  324|       |            // ok
  325|      0|            ptr = other.ptr;
  326|      0|        }
  327|    119|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  328|    119|        if (f.src_file == nullptr)
  ------------------
  |  Branch (328:13): [True: 119, False: 0]
  ------------------
  329|    119|            f = other.f;
  330|    119|#endif
  331|    119|        assertInvariants();
  332|    119|        return *this;
  333|    119|    }
_ZNK5XSpan15PtrOrSpanOrNullIhEplEl:
  496|  65.0k|    Self operator+(ptrdiff_t n) const {
  497|  65.0k|        pointer first = check_add(ptr, n);
  498|  65.0k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|  65.0k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|  65.0k|        r.f = f;
  501|  65.0k|#endif
  502|  65.0k|        return r;
  503|  65.0k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE9check_addEPhl:
  532|  65.0k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  65.0k|        assertInvariants();
  534|  65.0k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   130k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 65.0k]
  |  |  |  Branch (1558:47): [True: 65.0k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 65.0k]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  65.0k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  65.0k|        p += n;
  538|  65.0k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   130k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 65.0k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 65.0k]
  |  |  |  Branch (1558:47): [True: 65.0k, False: 0]
  |  |  ------------------
  ------------------
  539|  65.0k|            xspan_check_range(p, base, size_in_bytes);
  540|  65.0k|        return p;
  541|  65.0k|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2ENS1_13ModeUncheckedEPhmS3_:
  265|  65.0k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  65.0k|        assertInvariants();
  267|  65.0k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE9ensurePtrEv:
   95|  65.0k|    inline pointer ensurePtr() const {
   96|  65.0k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   130k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 65.0k]
  |  |  |  Branch (1558:47): [True: 65.0k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 65.0k]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  65.0k|        return ptr;
   99|  65.0k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvEC2ER9MemBuffer:
  225|  18.4k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  18.4k|#define CSelf PtrOrSpanOrNull
  ------------------
  226|  18.4k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan15PtrOrSpanOrNullIKvE11makeNotNullEPS1_:
   78|  18.4k|    static inline pointer makeNotNull(pointer p) {
   79|  18.4k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|  18.4k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  18.4k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  18.4k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 18.4k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|  18.4k|        return p;
   82|  18.4k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvEC2EPS1_NS_16XSpanSizeInBytesE:
  138|  18.4k|        : ptr(makePtr(first)), base(makeBase(first)),
  139|  18.4k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|  18.4k|        assertInvariants();
  141|  18.4k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvE7makePtrEPS1_:
   84|  18.4k|    static inline pointer makePtr(pointer p) {
   85|  18.4k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  18.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 18.4k]
  |  |  |  Branch (1558:47): [Folded, False: 18.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  18.4k|        return p;
   88|  18.4k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvE8makeBaseEPS1_:
   89|  18.4k|    static inline pointer makeBase(pointer b) {
   90|  18.4k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  18.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 18.4k]
  |  |  |  Branch (1558:47): [Folded, False: 18.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  18.4k|        return b;
   93|  18.4k|    }
_ZN5XSpan9PtrOrSpanIvEC2ER9MemBuffer:
  225|  62.0k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  62.0k|#define CSelf PtrOrSpan
  ------------------
  226|  62.0k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIvE11makeNotNullEPv:
   78|  62.0k|    static inline pointer makeNotNull(pointer p) {
   79|  62.0k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|  62.0k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  62.0k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  62.0k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 62.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|  62.0k|        return p;
   82|  62.0k|    }
_ZN5XSpan9PtrOrSpanIvEC2EPvNS_16XSpanSizeInBytesE:
  138|  62.0k|        : ptr(makePtr(first)), base(makeBase(first)),
  139|  62.0k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|  62.0k|        assertInvariants();
  141|  62.0k|    }
_ZN5XSpan9PtrOrSpanIvE8makeBaseEPv:
   89|  62.0k|    static inline pointer makeBase(pointer b) {
   90|  62.0k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  62.0k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 62.0k]
  |  |  |  Branch (1558:47): [Folded, False: 62.0k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  62.0k|        return b;
   93|  62.0k|    }
_ZN5XSpan9PtrOrSpanIhEC2ER9MemBuffer:
  225|  3.84k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  3.84k|#define CSelf PtrOrSpan
  ------------------
  226|  3.84k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIhE11makeNotNullEPh:
   78|  3.84k|    static inline pointer makeNotNull(pointer p) {
   79|  3.84k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|  3.84k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  3.84k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  3.84k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 3.84k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|  3.84k|        return p;
   82|  3.84k|    }
_ZN5XSpan9PtrOrSpanIhEC2EPhNS_16XSpanSizeInBytesE:
  138|  3.84k|        : ptr(makePtr(first)), base(makeBase(first)),
  139|  3.84k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|  3.84k|        assertInvariants();
  141|  3.84k|    }
_ZN5XSpan9PtrOrSpanIhE7makePtrEPh:
   84|  22.9k|    static inline pointer makePtr(pointer p) {
   85|  22.9k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  45.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 22.9k]
  |  |  |  Branch (1558:47): [True: 22.9k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 22.9k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  22.9k|        return p;
   88|  22.9k|    }
_ZN5XSpan9PtrOrSpanIhE8makeBaseEPh:
   89|  3.84k|    static inline pointer makeBase(pointer b) {
   90|  3.84k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  3.84k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3.84k]
  |  |  |  Branch (1558:47): [Folded, False: 3.84k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  3.84k|        return b;
   93|  3.84k|    }
_ZNK5XSpan9PtrOrSpanIhE16assertInvariantsEv:
   75|   361k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIhED2Ev:
  116|   143k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhEC2ER9MemBuffer:
  225|  3.17k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  3.17k|#define CSelf PtrOrSpanOrNull
  ------------------
  226|  3.17k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan15PtrOrSpanOrNullIhE11makeNotNullEPh:
   78|  3.23k|    static inline pointer makeNotNull(pointer p) {
   79|  3.23k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|  3.23k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  3.23k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  3.23k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 3.23k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|  3.23k|        return p;
   82|  3.23k|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2EPhNS_16XSpanSizeInBytesE:
  138|  3.17k|        : ptr(makePtr(first)), base(makeBase(first)),
  139|  3.17k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|  3.17k|        assertInvariants();
  141|  3.17k|    }
_ZN5XSpan15PtrOrSpanOrNullIhE7makePtrEPh:
   84|  3.23k|    static inline pointer makePtr(pointer p) {
   85|  3.23k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  3.23k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3.23k]
  |  |  |  Branch (1558:47): [Folded, False: 3.23k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  3.23k|        return p;
   88|  3.23k|    }
_ZN5XSpan15PtrOrSpanOrNullIhE8makeBaseEPh:
   89|  3.23k|    static inline pointer makeBase(pointer b) {
   90|  3.23k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  3.23k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3.23k]
  |  |  |  Branch (1558:47): [Folded, False: 3.23k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  3.23k|        return b;
   93|  3.23k|    }
_ZN5XSpan9PtrOrSpanIKvEC2ER9MemBuffer:
  225|    125|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|    125|#define CSelf PtrOrSpan
  ------------------
  226|    125|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIKvE11makeNotNullEPS1_:
   78|    125|    static inline pointer makeNotNull(pointer p) {
   79|    125|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|    125|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    125|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    125|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 125]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|    125|        return p;
   82|    125|    }
_ZN5XSpan9PtrOrSpanIKvEC2EPS1_NS_16XSpanSizeInBytesE:
  138|    125|        : ptr(makePtr(first)), base(makeBase(first)),
  139|    125|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|    125|        assertInvariants();
  141|    125|    }
_ZN5XSpan9PtrOrSpanIKvE7makePtrEPS1_:
   84|    125|    static inline pointer makePtr(pointer p) {
   85|    125|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    250|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 125]
  |  |  |  Branch (1558:47): [True: 125, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 125]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|    125|        return p;
   88|    125|    }
_ZN5XSpan9PtrOrSpanIKvE8makeBaseEPS1_:
   89|    125|    static inline pointer makeBase(pointer b) {
   90|    125|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    125|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 125]
  |  |  |  Branch (1558:47): [Folded, False: 125]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|    125|        return b;
   93|    125|    }
_ZN5XSpan9PtrOrSpanIKvED2Ev:
  116|    125|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIKhEC2ER9MemBuffer:
  225|  2.87k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  2.87k|#define CSelf PtrOrSpan
  ------------------
  226|  2.87k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIKhE11makeNotNullEPS1_:
   78|  2.87k|    static inline pointer makeNotNull(pointer p) {
   79|  2.87k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|  2.87k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  2.87k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  2.87k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 2.87k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|  2.87k|        return p;
   82|  2.87k|    }
_ZN5XSpan9PtrOrSpanIKhEC2EPS1_NS_16XSpanSizeInBytesE:
  138|  2.87k|        : ptr(makePtr(first)), base(makeBase(first)),
  139|  2.87k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|  2.87k|        assertInvariants();
  141|  2.87k|    }
_ZNK5XSpan4SpanIhE9raw_bytesEm:
  562|   143k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|   143k|        assertInvariants();
  564|   143k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 136k, False: 7.04k]
  ------------------
  565|   136k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   136k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 136k]
  |  |  |  Branch (1558:47): [Folded, False: 136k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|   136k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   136k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 136k, Folded]
  |  |  |  Branch (1558:47): [True: 136k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|   136k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|   136k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|   136k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   136k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   136k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 136k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|   136k|        }
  572|   143k|        return ptr;
  573|   143k|    }
_ZNK5XSpan4SpanIKhE4dataEv:
  576|      3|    pointer data() const noexcept { return ptr; }
_ZNK5XSpan4SpanIKhE10size_bytesEv:
  579|      3|    size_type size_bytes() const {
  580|      3|        assertInvariants();
  581|      3|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|      3|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|      0|            return 0;
  583|      3|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|      3|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|      0|            return 0;
  585|      3|        const charptr p_begin = upx::ptr_static_cast<const charptr>(ptr);
  586|      3|        const charptr p_end = upx::ptr_static_cast<const charptr>(base) + size_in_bytes;
  587|      3|        return p_end - p_begin;
  588|      3|    }
_ZNK5XSpan4SpanIhE10size_bytesEv:
  579|      3|    size_type size_bytes() const {
  580|      3|        assertInvariants();
  581|      3|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|      3|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|      0|            return 0;
  583|      3|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|      3|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|      0|            return 0;
  585|      3|        const charptr p_begin = upx::ptr_static_cast<const charptr>(ptr);
  586|      3|        const charptr p_end = upx::ptr_static_cast<const charptr>(base) + size_in_bytes;
  587|      3|        return p_end - p_begin;
  588|      3|    }
_ZNK5XSpan4SpanIhE9ensurePtrEv:
   95|    338|    inline pointer ensurePtr() const {
   96|    338|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    338|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 338]
  |  |  |  Branch (1558:47): [Folded, False: 338]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|    338|        return ptr;
   99|    338|    }
_ZNK5XSpan4SpanIhE10ensureBaseEv:
  100|    338|    inline pointer ensureBase() const {
  101|    338|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|    338|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 338]
  |  |  |  Branch (1558:47): [Folded, False: 338]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|    338|        return base;
  104|    338|    }
_ZNK5XSpan4SpanIKhE9raw_bytesEm:
  562|   171k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|   171k|        assertInvariants();
  564|   171k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 170k, False: 79]
  ------------------
  565|   170k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   170k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 170k]
  |  |  |  Branch (1558:47): [Folded, False: 170k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|   170k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   170k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 170k, Folded]
  |  |  |  Branch (1558:47): [True: 170k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|   170k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|   170k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|   170k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   170k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   170k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 170k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|   170k|        }
  572|   171k|        return ptr;
  573|   171k|    }
_ZNK5XSpan4SpanIhEixEl:
  463|      3|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan4SpanIhE11check_derefEPhl:
  522|      3|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|      3|        assertInvariants();
  524|      3|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|      3|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|      3|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|      3|        p += n;
  528|      3|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|      3|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 3, Folded]
  |  |  |  Branch (1558:47): [True: 3, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|      3|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|      3|        return p;
  531|      3|    }
_ZN5XSpan4SpanIhEpLEl:
  487|    270|    Self &operator+=(ptrdiff_t n) {
  488|    270|        ptr = check_add(ptr, n);
  489|    270|        return *this;
  490|    270|    }
_ZNK5XSpan4SpanIhE9check_addEPhl:
  532|  79.1k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  79.1k|        assertInvariants();
  534|  79.1k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  79.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 79.1k]
  |  |  |  Branch (1558:47): [Folded, False: 79.1k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  79.1k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  79.1k|        p += n;
  538|  79.1k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  79.1k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 79.1k, Folded]
  |  |  |  Branch (1558:47): [True: 79.1k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|  79.1k|            xspan_check_range(p, base, size_in_bytes);
  540|  79.1k|        return p;
  541|  79.1k|    }
_ZN5XSpan4SpanIhEppEi:
  472|    338|    Self operator++(int) {
  473|    338|        Self tmp = *this;
  474|    338|        ++*this;
  475|    338|        return tmp;
  476|    338|    }
_ZN5XSpan4SpanIhEppEv:
  468|    338|    Self &operator++() {
  469|    338|        ptr = check_add(ptr, 1);
  470|    338|        return *this;
  471|    338|    }
_ZNK5XSpan4SpanIhEdeEv:
  460|    338|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanIhE11check_derefEPh:
  514|    338|    pointer check_deref(pointer p) const may_throw {
  515|    338|        assertInvariants();
  516|    338|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    338|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 338]
  |  |  |  Branch (1558:47): [Folded, False: 338]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|    338|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    338|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 338, Folded]
  |  |  |  Branch (1558:47): [True: 338, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|    338|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|    338|        return p;
  521|    338|    }
_ZNK5XSpan4SpanIKhEplEl:
  496|   109k|    Self operator+(ptrdiff_t n) const {
  497|   109k|        pointer first = check_add(ptr, n);
  498|   109k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|   109k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|   109k|        r.f = f;
  501|   109k|#endif
  502|   109k|        return r;
  503|   109k|    }
_ZNK5XSpan4SpanIKhE9check_addEPS1_l:
  532|   649k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|   649k|        assertInvariants();
  534|   649k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   649k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 649k]
  |  |  |  Branch (1558:47): [Folded, False: 649k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|   649k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|   649k|        p += n;
  538|   649k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   649k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 649k, Folded]
  |  |  |  Branch (1558:47): [True: 649k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|   649k|            xspan_check_range(p, base, size_in_bytes);
  540|   649k|        return p;
  541|   649k|    }
_ZN5XSpan4SpanIKhEC2ENS2_13ModeUncheckedEPS1_mS4_:
  265|   109k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|   109k|        assertInvariants();
  267|   109k|    }
_ZNK5XSpan4SpanIhEplEl:
  496|  78.5k|    Self operator+(ptrdiff_t n) const {
  497|  78.5k|        pointer first = check_add(ptr, n);
  498|  78.5k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|  78.5k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|  78.5k|        r.f = f;
  501|  78.5k|#endif
  502|  78.5k|        return r;
  503|  78.5k|    }
_ZN5XSpan4SpanIhEC2ENS1_13ModeUncheckedEPhmS3_:
  265|  78.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  78.8k|        assertInvariants();
  267|  78.8k|    }
_ZN5XSpan4SpanIhEC2IhEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_hEE5valueeqL_ZNS_14ValueForSizeOfIhE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|      3|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|      3|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|      3|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|      3|        assertInvariants();
  158|      3|    }
_ZN5XSpan4SpanIhEC2ERKNS_14XSpanDebugFileEPhR9MemBuffer:
  234|  32.4k|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|  32.4k|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   49|  32.4k|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|  32.4k|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanIhEC2ERKNS_14XSpanDebugFileEPhNS_16XSpanSizeInBytesES5_:
  190|  32.4k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  32.4k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  191|  32.4k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  192|       |        // check invariants
  193|  32.4k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 32.4k, Folded]
  |  |  |  Branch (1558:47): [True: 32.4k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  194|  32.4k|                      (configRequireBase || base != nullptr))
  195|  32.4k|            xspan_check_range(ptr, base, size_in_bytes);
  196|       |        // double sanity check
  197|  32.4k|        assertInvariants();
  198|  32.4k|    }
_ZN5XSpan4SpanIKhEC2ERKNS_14XSpanDebugFileEPS1_R9MemBuffer:
  234|    131|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|    131|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   49|    131|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|    131|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanIKhE11makeNotNullEPS1_:
   78|    184|    static inline pointer makeNotNull(pointer p) {
   79|    184|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|    184|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    184|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    184|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 184]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|    184|        return p;
   82|    184|    }
_ZN5XSpan4SpanIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesES6_:
  190|    131|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|    131|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  191|    131|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  192|       |        // check invariants
  193|    131|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    262|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 131, Folded]
  |  |  |  Branch (1558:47): [True: 131, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  194|    131|                      (configRequireBase || base != nullptr))
  195|    131|            xspan_check_range(ptr, base, size_in_bytes);
  196|       |        // double sanity check
  197|    131|        assertInvariants();
  198|    131|    }
_ZN5XSpan4SpanIKhEpLEl:
  487|  30.5k|    Self &operator+=(ptrdiff_t n) {
  488|  30.5k|        ptr = check_add(ptr, n);
  489|  30.5k|        return *this;
  490|  30.5k|    }
_ZN5XSpan4SpanIKhEppEi:
  472|   502k|    Self operator++(int) {
  473|   502k|        Self tmp = *this;
  474|   502k|        ++*this;
  475|   502k|        return tmp;
  476|   502k|    }
_ZN5XSpan4SpanIKhEppEv:
  468|   508k|    Self &operator++() {
  469|   508k|        ptr = check_add(ptr, 1);
  470|   508k|        return *this;
  471|   508k|    }
_ZNK5XSpan4SpanIKhEdeEv:
  460|   594k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanIKhE11check_derefEPS1_:
  514|   594k|    pointer check_deref(pointer p) const may_throw {
  515|   594k|        assertInvariants();
  516|   594k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   594k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 594k]
  |  |  |  Branch (1558:47): [Folded, False: 594k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|   594k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   594k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 594k, Folded]
  |  |  |  Branch (1558:47): [True: 594k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|   594k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|   594k|        return p;
  521|   594k|    }
_ZNK5XSpan4SpanIKhEixEl:
  463|   136k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan4SpanIKhE11check_derefEPS1_l:
  522|   136k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|   136k|        assertInvariants();
  524|   136k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   136k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 136k]
  |  |  |  Branch (1558:47): [Folded, False: 136k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|   136k|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|   136k|        p += n;
  528|   136k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   136k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 136k, Folded]
  |  |  |  Branch (1558:47): [True: 136k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|   136k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|   136k|        return p;
  531|   136k|    }
_ZNK5XSpan9PtrOrSpanIhE9raw_bytesEm:
  562|   120k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|   120k|        assertInvariants();
  564|   120k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 120k, False: 0]
  ------------------
  565|   120k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   120k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 120k]
  |  |  |  Branch (1558:47): [Folded, False: 120k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|   120k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   240k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 101k, False: 19.0k]
  |  |  |  Branch (1558:47): [Folded, False: 120k]
  |  |  |  Branch (1558:47): [True: 101k, False: 19.0k]
  |  |  ------------------
  ------------------
  568|   101k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|   120k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|   120k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   120k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   120k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 120k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|   120k|        }
  572|   120k|        return ptr;
  573|   120k|    }
_ZNK5XSpan9PtrOrSpanIhE9ensurePtrEv:
   95|  22.9k|    inline pointer ensurePtr() const {
   96|  22.9k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  22.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 22.9k]
  |  |  |  Branch (1558:47): [Folded, False: 22.9k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  22.9k|        return ptr;
   99|  22.9k|    }
_ZN5XSpan4SpanIKhEC2IS1_EERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|  35.9k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  35.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|  35.9k|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|  35.9k|        assertInvariants();
  158|  35.9k|    }
_ZNK5XSpan9PtrOrSpanIhE4dataEm:
  577|      3|    pointer data(size_t bytes) const may_throw { return raw_bytes(bytes); } // UPX extra
_ZNK5XSpan9PtrOrSpanIhEplEl:
  496|  64.9k|    Self operator+(ptrdiff_t n) const {
  497|  64.9k|        pointer first = check_add(ptr, n);
  498|  64.9k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|  64.9k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|  64.9k|        r.f = f;
  501|  64.9k|#endif
  502|  64.9k|        return r;
  503|  64.9k|    }
_ZNK5XSpan9PtrOrSpanIhE9check_addEPhl:
  532|  64.9k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  64.9k|        assertInvariants();
  534|  64.9k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 64.9k]
  |  |  |  Branch (1558:47): [Folded, False: 64.9k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  64.9k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  64.9k|        p += n;
  538|  64.9k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   129k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 64.9k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 64.9k]
  |  |  |  Branch (1558:47): [True: 64.9k, False: 0]
  |  |  ------------------
  ------------------
  539|  64.9k|            xspan_check_range(p, base, size_in_bytes);
  540|  64.9k|        return p;
  541|  64.9k|    }
_ZN5XSpan9PtrOrSpanIhEC2ENS1_13ModeUncheckedEPhmS3_:
  265|  64.9k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  64.9k|        assertInvariants();
  267|  64.9k|    }
_ZN5XSpan4SpanIKhEaSERKS2_:
  337|     69|    Self &operator=(const Self &other) { return assign(other); }
_ZN5XSpan4SpanIKhE6assignERKS2_:
  304|     69|    Self &assign(const Self &other) {
  305|     69|        assertInvariants();
  306|     69|        other.assertInvariants();
  307|     69|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|     69|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 69]
  |  |  |  Branch (1558:47): [Folded, False: 69]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  308|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  309|      0|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  310|      0|                          (configRequireBase || other.base != nullptr))
  311|      0|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  312|       |            // ok
  313|      0|            ptr = other.ptr;
  314|      0|            base = other.base;
  315|      0|            size_in_bytes = other.size_in_bytes;
  316|     69|        } else {
  317|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  318|     69|            if __acc_cte (configRequireBase || other.base != nullptr)
  ------------------
  |  | 1558|     69|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 69, Folded]
  |  |  |  Branch (1558:47): [True: 69, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  319|     69|                if very_unlikely (base != other.base)
  ------------------
  |  |  245|     69|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|     69|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|     69|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 69]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  320|      0|                    xspan_fail_not_same_base();
  321|     69|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|    138|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 69, Folded]
  |  |  |  Branch (1558:47): [True: 69, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  322|     69|                          (configRequireBase || base != nullptr))
  323|     69|                xspan_check_range(other.ptr, base, size_in_bytes);
  324|       |            // ok
  325|     69|            ptr = other.ptr;
  326|     69|        }
  327|     69|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  328|     69|        if (f.src_file == nullptr)
  ------------------
  |  Branch (328:13): [True: 0, False: 69]
  ------------------
  329|      0|            f = other.f;
  330|     69|#endif
  331|     69|        assertInvariants();
  332|     69|        return *this;
  333|     69|    }
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileER9MemBuffer:
  228|      3|        : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|      3|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   49|      3|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  229|      3|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanI4LE32E11makeNotNullEPS1_:
   78|    168|    static inline pointer makeNotNull(pointer p) {
   79|    168|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|    168|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    168|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    168|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 168]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|    168|        return p;
   82|    168|    }
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  143|      3|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|      3|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|      3|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|      3|        assertInvariants();
  146|      3|    }
_ZN5XSpan4SpanI4LE32E7makePtrEPS1_:
   84|    168|    static inline pointer makePtr(pointer p) {
   85|    168|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    336|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 168]
  |  |  |  Branch (1558:47): [True: 168, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 168]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|    168|        return p;
   88|    168|    }
_ZN5XSpan4SpanI4LE32E8makeBaseEPS1_:
   89|    168|    static inline pointer makeBase(pointer b) {
   90|    168|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    336|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 168]
  |  |  |  Branch (1558:47): [True: 168, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 168]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|    168|        return b;
   93|    168|    }
_ZN5XSpan4SpanI4LE32EppEi:
  472|  32.4k|    Self operator++(int) {
  473|  32.4k|        Self tmp = *this;
  474|  32.4k|        ++*this;
  475|  32.4k|        return tmp;
  476|  32.4k|    }
_ZN5XSpan4SpanI4LE32EppEv:
  468|  38.4k|    Self &operator++() {
  469|  38.4k|        ptr = check_add(ptr, 1);
  470|  38.4k|        return *this;
  471|  38.4k|    }
_ZNK5XSpan4SpanI4LE32E9check_addEPS1_l:
  532|  38.4k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  38.4k|        assertInvariants();
  534|  38.4k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  38.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 38.4k]
  |  |  |  Branch (1558:47): [Folded, False: 38.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  38.4k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  38.4k|        p += n;
  538|  38.4k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  38.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 38.4k, Folded]
  |  |  |  Branch (1558:47): [True: 38.4k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|  38.4k|            xspan_check_range(p, base, size_in_bytes);
  540|  38.4k|        return p;
  541|  38.4k|    }
_ZNK5XSpan4SpanI4LE32EdeEv:
  460|  44.5k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanI4LE32E11check_derefEPS1_:
  514|  44.5k|    pointer check_deref(pointer p) const may_throw {
  515|  44.5k|        assertInvariants();
  516|  44.5k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  44.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 44.5k]
  |  |  |  Branch (1558:47): [Folded, False: 44.5k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|  44.5k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  44.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 44.5k, Folded]
  |  |  |  Branch (1558:47): [True: 44.5k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|  44.5k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|  44.5k|        return p;
  521|  44.5k|    }
_ZNK5XSpan4SpanI4LE32E9raw_bytesEm:
  562|      3|    pointer raw_bytes(size_t bytes) const may_throw {
  563|      3|        assertInvariants();
  564|      3|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 0, False: 3]
  ------------------
  565|      0|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|      0|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|      0|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      0|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      0|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|      0|        }
  572|      3|        return ptr;
  573|      3|    }
_ZNK5XSpan9PtrOrSpanIKhE9raw_bytesEm:
  562|  55.5k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|  55.5k|        assertInvariants();
  564|  55.5k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 55.5k, False: 0]
  ------------------
  565|  55.5k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  55.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 55.5k]
  |  |  |  Branch (1558:47): [Folded, False: 55.5k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|  55.5k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   111k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 35.4k, False: 20.0k]
  |  |  |  Branch (1558:47): [Folded, False: 55.5k]
  |  |  |  Branch (1558:47): [True: 35.4k, False: 20.0k]
  |  |  ------------------
  ------------------
  568|  35.4k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|  55.5k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|  55.5k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  55.5k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  55.5k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 55.5k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|  55.5k|        }
  572|  55.5k|        return ptr;
  573|  55.5k|    }
_ZNK5XSpan9PtrOrSpanIhEixEl:
  463|  32.4k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan9PtrOrSpanIhE11check_derefEPhl:
  522|  32.4k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|  32.4k|        assertInvariants();
  524|  32.4k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  32.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|  32.4k|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|  32.4k|        p += n;
  528|  32.4k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 32.4k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 32.4k, False: 0]
  |  |  ------------------
  ------------------
  529|  32.4k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|  32.4k|        return p;
  531|  32.4k|    }
_ZNK5XSpan9PtrOrSpanIKhEixEl:
  463|  32.4k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan9PtrOrSpanIKhE11check_derefEPS1_l:
  522|  32.4k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|  32.4k|        assertInvariants();
  524|  32.4k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  32.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|  32.4k|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|  32.4k|        p += n;
  528|  32.4k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 32.4k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 32.4k, False: 0]
  |  |  ------------------
  ------------------
  529|  32.4k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|  32.4k|        return p;
  531|  32.4k|    }
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEEptEv:
  466|    696|    pointer operator->() const { return check_deref(ptr); }
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEE11check_derefEPS3_:
  514|    696|    pointer check_deref(pointer p) const may_throw {
  515|    696|        assertInvariants();
  516|    696|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    696|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 696]
  |  |  |  Branch (1558:47): [Folded, False: 696]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|    696|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    696|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 696, Folded]
  |  |  |  Branch (1558:47): [True: 696, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|    696|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|    696|        return p;
  521|    696|    }
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEE16assertInvariantsEv:
   75|  1.04k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEE9type_castIhEENS0_IT_EEv:
  383|    348|    CSelf<U> type_cast() const {
  384|    348|        typedef CSelf<U> R;
  385|    348|        typedef typename R::pointer rpointer;
  386|    348|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|    348|                upx::ptr_static_cast<rpointer>(base));
  388|    348|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|    348|        r.f = f;
  390|    348|#endif
  391|    348|        return r;
  392|    348|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEED2Ev:
  116|  40.3k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEED2Ev:
  116|      6|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullI4LE16ED2Ev:
  116|  32.4k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIhE9type_castIN6PeFile5Reloc9BaseRelocEEENS0_IT_EEv:
  383|      3|    CSelf<U> type_cast() const {
  384|      3|        typedef CSelf<U> R;
  385|      3|        typedef typename R::pointer rpointer;
  386|      3|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|      3|                upx::ptr_static_cast<rpointer>(base));
  388|      3|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|      3|        r.f = f;
  390|      3|#endif
  391|      3|        return r;
  392|      3|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEC2ENS4_13ModeUncheckedEPS3_mS6_:
  265|      3|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|      3|        assertInvariants();
  267|      3|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE16assertInvariantsEv:
   75|  33.8k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEaSERKS4_:
  337|      3|    Self &operator=(const Self &other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE6assignERKS4_:
  304|      3|    Self &assign(const Self &other) {
  305|      3|        assertInvariants();
  306|      3|        other.assertInvariants();
  307|      3|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|      6|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 3, False: 0]
  |  |  |  Branch (1558:47): [True: 3, Folded]
  |  |  |  Branch (1558:47): [True: 3, False: 0]
  |  |  ------------------
  ------------------
  308|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  309|      3|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|     18|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 3, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 3, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 3, False: 0]
  |  |  ------------------
  ------------------
  310|      3|                          (configRequireBase || other.base != nullptr))
  311|      3|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  312|       |            // ok
  313|      3|            ptr = other.ptr;
  314|      3|            base = other.base;
  315|      3|            size_in_bytes = other.size_in_bytes;
  316|      3|        } else {
  317|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  318|      0|            if __acc_cte (configRequireBase || other.base != nullptr)
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  319|      0|                if very_unlikely (base != other.base)
  ------------------
  |  |  245|      0|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      0|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      0|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  320|      0|                    xspan_fail_not_same_base();
  321|      0|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  322|      0|                          (configRequireBase || base != nullptr))
  323|      0|                xspan_check_range(other.ptr, base, size_in_bytes);
  324|       |            // ok
  325|      0|            ptr = other.ptr;
  326|      0|        }
  327|      3|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  328|      3|        if (f.src_file == nullptr)
  ------------------
  |  Branch (328:13): [True: 3, False: 0]
  ------------------
  329|      3|            f = other.f;
  330|      3|#endif
  331|      3|        assertInvariants();
  332|      3|        return *this;
  333|      3|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE9type_castI4LE16EENS0_IT_EEv:
  383|      3|    CSelf<U> type_cast() const {
  384|      3|        typedef CSelf<U> R;
  385|      3|        typedef typename R::pointer rpointer;
  386|      3|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|      3|                upx::ptr_static_cast<rpointer>(base));
  388|      3|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|      3|        r.f = f;
  390|      3|#endif
  391|      3|        return r;
  392|      3|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EC2ENS2_13ModeUncheckedEPS1_mS4_:
  265|      3|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|      3|        assertInvariants();
  267|      3|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E16assertInvariantsEv:
   75|   130k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullI4LE16EaSERKS2_:
  337|      3|    Self &operator=(const Self &other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E6assignERKS2_:
  304|      3|    Self &assign(const Self &other) {
  305|      3|        assertInvariants();
  306|      3|        other.assertInvariants();
  307|      3|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|      6|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 3, False: 0]
  |  |  |  Branch (1558:47): [True: 3, Folded]
  |  |  |  Branch (1558:47): [True: 3, False: 0]
  |  |  ------------------
  ------------------
  308|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  309|      3|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|     18|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 3, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 3, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 3]
  |  |  |  Branch (1558:47): [True: 3, False: 0]
  |  |  ------------------
  ------------------
  310|      3|                          (configRequireBase || other.base != nullptr))
  311|      3|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  312|       |            // ok
  313|      3|            ptr = other.ptr;
  314|      3|            base = other.base;
  315|      3|            size_in_bytes = other.size_in_bytes;
  316|      3|        } else {
  317|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  318|      0|            if __acc_cte (configRequireBase || other.base != nullptr)
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  319|      0|                if very_unlikely (base != other.base)
  ------------------
  |  |  245|      0|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      0|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      0|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  320|      0|                    xspan_fail_not_same_base();
  321|      0|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  322|      0|                          (configRequireBase || base != nullptr))
  323|      0|                xspan_check_range(other.ptr, base, size_in_bytes);
  324|       |            // ok
  325|      0|            ptr = other.ptr;
  326|      0|        }
  327|      3|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  328|      3|        if (f.src_file == nullptr)
  ------------------
  |  Branch (328:13): [True: 3, False: 0]
  ------------------
  329|      3|            f = other.f;
  330|      3|#endif
  331|      3|        assertInvariants();
  332|      3|        return *this;
  333|      3|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEaSEPS3_:
  335|    348|    Self &operator=(pointer other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE6assignEPS3_:
  293|    348|    Self &assign(pointer other) {
  294|    348|        assertInvariants();
  295|    348|        other = makePtr(other);
  296|    348|        if __acc_cte ((configRequirePtr || other != nullptr) &&
  ------------------
  |  | 1558|  2.08k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 348, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 348]
  |  |  |  Branch (1558:47): [True: 348, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 348]
  |  |  |  Branch (1558:47): [True: 348, False: 0]
  |  |  ------------------
  ------------------
  297|    348|                      (configRequireBase || base != nullptr))
  298|    348|            xspan_check_range(other, base, size_in_bytes);
  299|       |        // ok
  300|    348|        ptr = other;
  301|    348|        assertInvariants();
  302|    348|        return *this;
  303|    348|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE7makePtrEPS3_:
   84|    348|    static inline pointer makePtr(pointer p) {
   85|    348|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    348|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 348]
  |  |  |  Branch (1558:47): [Folded, False: 348]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|    348|        return p;
   88|    348|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EaSEPS1_:
  335|    348|    Self &operator=(pointer other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E6assignEPS1_:
  293|    348|    Self &assign(pointer other) {
  294|    348|        assertInvariants();
  295|    348|        other = makePtr(other);
  296|    348|        if __acc_cte ((configRequirePtr || other != nullptr) &&
  ------------------
  |  | 1558|  2.08k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 348, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 348]
  |  |  |  Branch (1558:47): [True: 348, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 348]
  |  |  |  Branch (1558:47): [True: 348, False: 0]
  |  |  ------------------
  ------------------
  297|    348|                      (configRequireBase || base != nullptr))
  298|    348|            xspan_check_range(other, base, size_in_bytes);
  299|       |        // ok
  300|    348|        ptr = other;
  301|    348|        assertInvariants();
  302|    348|        return *this;
  303|    348|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E7makePtrEPS1_:
   84|    348|    static inline pointer makePtr(pointer p) {
   85|    348|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    348|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 348]
  |  |  |  Branch (1558:47): [Folded, False: 348]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|    348|        return p;
   88|    348|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EppEi:
  472|  32.4k|    Self operator++(int) {
  473|  32.4k|        Self tmp = *this;
  474|  32.4k|        ++*this;
  475|  32.4k|        return tmp;
  476|  32.4k|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EppEv:
  468|  32.4k|    Self &operator++() {
  469|  32.4k|        ptr = check_add(ptr, 1);
  470|  32.4k|        return *this;
  471|  32.4k|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E9check_addEPS1_l:
  532|  32.4k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  32.4k|        assertInvariants();
  534|  32.4k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 32.4k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 32.4k]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  32.4k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  32.4k|        p += n;
  538|  32.4k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 32.4k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 32.4k, False: 0]
  |  |  ------------------
  ------------------
  539|  32.4k|            xspan_check_range(p, base, size_in_bytes);
  540|  32.4k|        return p;
  541|  32.4k|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16EdeEv:
  460|  32.4k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E11check_derefEPS1_:
  514|  32.4k|    pointer check_deref(pointer p) const may_throw {
  515|  32.4k|        assertInvariants();
  516|  32.4k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 32.4k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 32.4k]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|  32.4k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  64.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 32.4k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 32.4k]
  |  |  |  Branch (1558:47): [True: 32.4k, False: 0]
  |  |  ------------------
  ------------------
  519|  32.4k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|  32.4k|        return p;
  521|  32.4k|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEptEv:
  466|  33.1k|    pointer operator->() const { return check_deref(ptr); }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE11check_derefEPS3_:
  514|  33.1k|    pointer check_deref(pointer p) const may_throw {
  515|  33.1k|        assertInvariants();
  516|  33.1k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  66.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 33.1k]
  |  |  |  Branch (1558:47): [True: 33.1k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 33.1k]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|  33.1k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  66.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 33.1k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 33.1k]
  |  |  |  Branch (1558:47): [True: 33.1k, False: 0]
  |  |  ------------------
  ------------------
  519|  33.1k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|  33.1k|        return p;
  521|  33.1k|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEeqEPS3_:
  394|    348|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E9raw_bytesEm:
  562|  32.4k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|  32.4k|        assertInvariants();
  564|  32.4k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 0, False: 32.4k]
  ------------------
  565|      0|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|      0|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|      0|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|      0|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|      0|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      0|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      0|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|      0|        }
  572|  32.4k|        return ptr;
  573|  32.4k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE7raw_ptrEv:
  558|      3|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE9ensurePtrEv:
   95|    348|    inline pointer ensurePtr() const {
   96|    348|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    696|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 348]
  |  |  |  Branch (1558:47): [True: 348, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 348]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|    348|        return ptr;
   99|    348|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE10ensureBaseEv:
  100|    348|    inline pointer ensureBase() const {
  101|    348|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|    696|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 348]
  |  |  |  Branch (1558:47): [True: 348, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 348]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|    348|        return base;
  104|    348|    }
_ZN5XSpan4SpanIN6PeFile5Reloc9BaseRelocEED2Ev:
  116|    348|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEneEPS3_:
  400|      3|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZN5XSpan15PtrOrSpanOrNullIhE10invalidateEv:
  118|      3|    noinline void invalidate() {
  119|      3|        assertInvariants();
  120|      3|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  121|      3|        base = ptr;                     // point to non-null invalid address
  122|      3|        size_in_bytes = 0;
  123|      3|        assertInvariants();
  124|      3|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE10invalidateEv:
  118|      3|    noinline void invalidate() {
  119|      3|        assertInvariants();
  120|      3|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  121|      3|        base = ptr;                     // point to non-null invalid address
  122|      3|        size_in_bytes = 0;
  123|      3|        assertInvariants();
  124|      3|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E10invalidateEv:
  118|      3|    noinline void invalidate() {
  119|      3|        assertInvariants();
  120|      3|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  121|      3|        base = ptr;                     // point to non-null invalid address
  122|      3|        size_in_bytes = 0;
  123|      3|        assertInvariants();
  124|      3|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEEixEl:
  463|  1.50k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE11check_derefEPS2_l:
  522|  1.50k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|  1.50k|        assertInvariants();
  524|  1.50k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  3.00k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 1.50k]
  |  |  |  Branch (1558:47): [True: 1.50k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 1.50k]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|  1.50k|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|  1.50k|        p += n;
  528|  1.50k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  3.00k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 1.50k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 1.50k]
  |  |  |  Branch (1558:47): [True: 1.50k, False: 0]
  |  |  ------------------
  ------------------
  529|  1.50k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|  1.50k|        return p;
  531|  1.50k|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE16assertInvariantsEv:
   75|  2.56k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIN6PeFile12pe_section_tEEC2ERKNS_14XSpanDebugFileER9MemBuffer:
  228|    265|        : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|    265|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   49|    265|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  229|    265|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIN6PeFile12pe_section_tEE11makeNotNullEPS2_:
   78|    265|    static inline pointer makeNotNull(pointer p) {
   79|    265|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|    265|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    265|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    265|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 265]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|    265|        return p;
   82|    265|    }
_ZN5XSpan4SpanIN6PeFile12pe_section_tEEC2ERKNS_14XSpanDebugFileEPS2_NS_16XSpanSizeInBytesE:
  143|    265|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|    265|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|    265|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|    265|        assertInvariants();
  146|    265|    }
_ZN5XSpan4SpanIN6PeFile12pe_section_tEE7makePtrEPS2_:
   84|    265|    static inline pointer makePtr(pointer p) {
   85|    265|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    530|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 265]
  |  |  |  Branch (1558:47): [True: 265, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 265]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|    265|        return p;
   88|    265|    }
_ZN5XSpan4SpanIN6PeFile12pe_section_tEE8makeBaseEPS2_:
   89|    265|    static inline pointer makeBase(pointer b) {
   90|    265|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    530|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 265]
  |  |  |  Branch (1558:47): [True: 265, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 265]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|    265|        return b;
   93|    265|    }
_ZNK5XSpan4SpanIN6PeFile12pe_section_tEE16assertInvariantsEv:
   75|    265|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIN6PeFile12pe_section_tEED2Ev:
  116|    265|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE6assignERKS3_:
  304|    265|    Self &assign(const Self &other) {
  305|    265|        assertInvariants();
  306|    265|        other.assertInvariants();
  307|    265|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|    530|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 265, False: 0]
  |  |  |  Branch (1558:47): [True: 265, Folded]
  |  |  |  Branch (1558:47): [True: 265, False: 0]
  |  |  ------------------
  ------------------
  308|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  309|    265|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|  1.59k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 265, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 265]
  |  |  |  Branch (1558:47): [True: 265, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 265]
  |  |  |  Branch (1558:47): [True: 265, False: 0]
  |  |  ------------------
  ------------------
  310|    265|                          (configRequireBase || other.base != nullptr))
  311|    265|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  312|       |            // ok
  313|    265|            ptr = other.ptr;
  314|    265|            base = other.base;
  315|    265|            size_in_bytes = other.size_in_bytes;
  316|    265|        } else {
  317|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  318|      0|            if __acc_cte (configRequireBase || other.base != nullptr)
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  319|      0|                if very_unlikely (base != other.base)
  ------------------
  |  |  245|      0|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      0|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      0|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  320|      0|                    xspan_fail_not_same_base();
  321|      0|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|      0|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  322|      0|                          (configRequireBase || base != nullptr))
  323|      0|                xspan_check_range(other.ptr, base, size_in_bytes);
  324|       |            // ok
  325|      0|            ptr = other.ptr;
  326|      0|        }
  327|    265|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  328|    265|        if (f.src_file == nullptr)
  ------------------
  |  Branch (328:13): [True: 265, False: 0]
  ------------------
  329|    265|            f = other.f;
  330|    265|#endif
  331|    265|        assertInvariants();
  332|    265|        return *this;
  333|    265|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE9ensurePtrEv:
   95|    265|    inline pointer ensurePtr() const {
   96|    265|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    530|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 265]
  |  |  |  Branch (1558:47): [True: 265, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 265]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|    265|        return ptr;
   99|    265|    }
_ZN5XSpan4SpanIKhEC2ER9MemBuffer:
  225|     53|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|     53|#define CSelf Span
  ------------------
  226|     53|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIKhEC2EPS1_NS_16XSpanSizeInBytesE:
  138|     53|        : ptr(makePtr(first)), base(makeBase(first)),
  139|     53|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|     53|        assertInvariants();
  141|     53|    }
_ZN5XSpan4SpanIhEaSEPh:
  335|    142|    Self &operator=(pointer other) { return assign(other); }
_ZN5XSpan4SpanIhE6assignEPh:
  293|    142|    Self &assign(pointer other) {
  294|    142|        assertInvariants();
  295|    142|        other = makePtr(other);
  296|    142|        if __acc_cte ((configRequirePtr || other != nullptr) &&
  ------------------
  |  | 1558|    284|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 142, Folded]
  |  |  |  Branch (1558:47): [True: 142, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  297|    142|                      (configRequireBase || base != nullptr))
  298|    142|            xspan_check_range(other, base, size_in_bytes);
  299|       |        // ok
  300|    142|        ptr = other;
  301|    142|        assertInvariants();
  302|    142|        return *this;
  303|    142|    }
_ZN5XSpan4SpanIKhEC2IhEERKNS_14XSpanDebugFileEPS1_mPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS8_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS8_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  212|     61|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     61|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  213|     61|          size_in_bytes(xspan_mem_size<T>(count)) {
  214|       |        // check invariants
  215|     61|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    122|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 61, Folded]
  |  |  |  Branch (1558:47): [True: 61, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  216|     61|                      (configRequireBase || base != nullptr))
  217|     61|            xspan_check_range(ptr, base, size_in_bytes);
  218|       |        // double sanity check
  219|     61|        assertInvariants();
  220|     61|    }
_ZN5XSpan4SpanIhEC2ER9MemBuffer:
  225|     60|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|     60|#define CSelf Span
  ------------------
  226|     60|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIhEC2EPhNS_16XSpanSizeInBytesE:
  138|     60|        : ptr(makePtr(first)), base(makeBase(first)),
  139|     60|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|     60|        assertInvariants();
  141|     60|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEC2ERKNS_14XSpanDebugFileEPS2_R9MemBuffer:
  234|     60|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|     60|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   49|     60|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|     60|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanIN6PeFile11import_descEE11makeNotNullEPS2_:
   78|     60|    static inline pointer makeNotNull(pointer p) {
   79|     60|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|     60|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|     60|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|     60|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 60]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|     60|        return p;
   82|     60|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEC2ERKNS_14XSpanDebugFileEPS2_NS_16XSpanSizeInBytesES7_:
  190|     60|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     60|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  191|     60|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  192|       |        // check invariants
  193|     60|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    120|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 60, Folded]
  |  |  |  Branch (1558:47): [True: 60, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  194|     60|                      (configRequireBase || base != nullptr))
  195|     60|            xspan_check_range(ptr, base, size_in_bytes);
  196|       |        // double sanity check
  197|     60|        assertInvariants();
  198|     60|    }
_ZN5XSpan4SpanIN6PeFile11import_descEE7makePtrEPS2_:
   84|     60|    static inline pointer makePtr(pointer p) {
   85|     60|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    120|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 60]
  |  |  |  Branch (1558:47): [True: 60, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 60]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|     60|        return p;
   88|     60|    }
_ZN5XSpan4SpanIN6PeFile11import_descEE8makeBaseEPS2_:
   89|     60|    static inline pointer makeBase(pointer b) {
   90|     60|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    120|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 60]
  |  |  |  Branch (1558:47): [True: 60, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 60]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|     60|        return b;
   93|     60|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE16assertInvariantsEv:
   75|    924|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhEC2ERKNS_14XSpanDebugFileEPhR9MemBuffer:
  234|     60|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|     60|#define CSelf PtrOrSpanOrNull
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   49|     60|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|     60|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan15PtrOrSpanOrNullIhEC2ERKNS_14XSpanDebugFileEPhNS_16XSpanSizeInBytesES5_:
  190|     60|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     60|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  191|     60|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  192|       |        // check invariants
  193|     60|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    180|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 60]
  |  |  |  Branch (1558:47): [Folded, False: 60]
  |  |  |  Branch (1558:47): [True: 0, False: 60]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  194|     60|                      (configRequireBase || base != nullptr))
  195|      0|            xspan_check_range(ptr, base, size_in_bytes);
  196|       |        // double sanity check
  197|     60|        assertInvariants();
  198|     60|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEEptEv:
  466|    520|    pointer operator->() const { return check_deref(ptr); }
_ZNK5XSpan4SpanIN6PeFile11import_descEE11check_derefEPS2_:
  514|    520|    pointer check_deref(pointer p) const may_throw {
  515|    520|        assertInvariants();
  516|    520|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    520|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 520]
  |  |  |  Branch (1558:47): [Folded, False: 520]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|    520|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    520|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 520, Folded]
  |  |  |  Branch (1558:47): [True: 520, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|    520|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|    520|        return p;
  521|    520|    }
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileEPS1_R9MemBuffer:
  234|    165|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|    165|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   49|    165|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|    165|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesES6_:
  190|    165|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|    165|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  191|    165|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  192|       |        // check invariants
  193|    165|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    330|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 165, Folded]
  |  |  |  Branch (1558:47): [True: 165, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  194|    165|                      (configRequireBase || base != nullptr))
  195|    165|            xspan_check_range(ptr, base, size_in_bytes);
  196|       |        // double sanity check
  197|    165|        assertInvariants();
  198|    165|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEppEi:
  472|    172|    Self operator++(int) {
  473|    172|        Self tmp = *this;
  474|    172|        ++*this;
  475|    172|        return tmp;
  476|    172|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE9ensurePtrEv:
   95|    172|    inline pointer ensurePtr() const {
   96|    172|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    172|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 172]
  |  |  |  Branch (1558:47): [Folded, False: 172]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|    172|        return ptr;
   99|    172|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE10ensureBaseEv:
  100|    172|    inline pointer ensureBase() const {
  101|    172|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|    172|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 172]
  |  |  |  Branch (1558:47): [Folded, False: 172]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|    172|        return base;
  104|    172|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEppEv:
  468|    172|    Self &operator++() {
  469|    172|        ptr = check_add(ptr, 1);
  470|    172|        return *this;
  471|    172|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE9check_addEPS2_l:
  532|    172|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|    172|        assertInvariants();
  534|    172|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    172|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 172]
  |  |  |  Branch (1558:47): [Folded, False: 172]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|    172|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|    172|        p += n;
  538|    172|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    172|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 172, Folded]
  |  |  |  Branch (1558:47): [True: 172, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|    172|            xspan_check_range(p, base, size_in_bytes);
  540|    172|        return p;
  541|    172|    }
_ZN5XSpan4SpanIN6PeFile11import_descEED2Ev:
  116|    232|forceinline ~CSelf() noexcept {}
_ZN5XSpan4SpanI4LE64EC2ERKNS_14XSpanDebugFileEPS1_R9MemBuffer:
  234|      7|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|      7|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   49|      7|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|      7|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanI4LE64E11makeNotNullEPS1_:
   78|      7|    static inline pointer makeNotNull(pointer p) {
   79|      7|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|      7|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      7|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      7|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 7]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|      7|        return p;
   82|      7|    }
_ZN5XSpan4SpanI4LE64EC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesES6_:
  190|      7|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|      7|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  191|      7|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  192|       |        // check invariants
  193|      7|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|     14|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 7, Folded]
  |  |  |  Branch (1558:47): [True: 7, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  194|      7|                      (configRequireBase || base != nullptr))
  195|      7|            xspan_check_range(ptr, base, size_in_bytes);
  196|       |        // double sanity check
  197|      7|        assertInvariants();
  198|      7|    }
_ZN5XSpan4SpanI4LE64E7makePtrEPS1_:
   84|      7|    static inline pointer makePtr(pointer p) {
   85|      7|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|     14|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 7]
  |  |  |  Branch (1558:47): [True: 7, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 7]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|      7|        return p;
   88|      7|    }
_ZN5XSpan4SpanI4LE64E8makeBaseEPS1_:
   89|      7|    static inline pointer makeBase(pointer b) {
   90|      7|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|     14|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 7]
  |  |  |  Branch (1558:47): [True: 7, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 7]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|      7|        return b;
   93|      7|    }
_ZNK5XSpan4SpanI4LE64E16assertInvariantsEv:
   75|    989|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanI4LE64EdeEv:
  460|    657|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanI4LE64E11check_derefEPS1_:
  514|    657|    pointer check_deref(pointer p) const may_throw {
  515|    657|        assertInvariants();
  516|    657|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    657|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 657]
  |  |  |  Branch (1558:47): [Folded, False: 657]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|    657|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    657|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 657, Folded]
  |  |  |  Branch (1558:47): [True: 657, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|    657|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|    657|        return p;
  521|    657|    }
_ZN5XSpan4SpanI4LE64EppEv:
  468|    325|    Self &operator++() {
  469|    325|        ptr = check_add(ptr, 1);
  470|    325|        return *this;
  471|    325|    }
_ZNK5XSpan4SpanI4LE64E9check_addEPS1_l:
  532|    325|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|    325|        assertInvariants();
  534|    325|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    325|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 325]
  |  |  |  Branch (1558:47): [Folded, False: 325]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|    325|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|    325|        p += n;
  538|    325|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    325|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 325, Folded]
  |  |  |  Branch (1558:47): [True: 325, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|    325|            xspan_check_range(p, base, size_in_bytes);
  540|    325|        return p;
  541|    325|    }
_ZN5XSpan4SpanI4LE64ED2Ev:
  116|      7|forceinline ~CSelf() noexcept {}

_ZN5XSpan15PtrOrSpanOrNullIiEC2IiEERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   85|  28.2k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   48|  28.2k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   86|  28.2k|        assertInvariants();
   87|  28.2k|    }
_ZN5XSpan15PtrOrSpanOrNullIiEC2IiEERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   95|  28.2k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   48|  28.2k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   96|  28.2k|        assertInvariants();
   97|  28.2k|    }
_ZN5XSpan15PtrOrSpanOrNullIiEC2ERKNS_14XSpanDebugFileEDn:
  118|  56.5k|    forceinline CSelf(XSPAN_DEBUG_ARGS std::nullptr_t) noexcept : XSPAN_DEBUG_IMPL ptr(nullptr),
  ------------------
  |  |   47|  56.5k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  119|  56.5k|                                                                  base(nullptr),
  120|  56.5k|                                                                  size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIKiEC2ERKNS_14XSpanDebugFileEDn:
  118|  28.2k|    forceinline CSelf(XSPAN_DEBUG_ARGS std::nullptr_t) noexcept : XSPAN_DEBUG_IMPL ptr(nullptr),
  ------------------
  |  |   47|  28.2k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  119|  28.2k|                                                                  base(nullptr),
  120|  28.2k|                                                                  size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIKiEC2IiEERKNS_14XSpanDebugFileERKNS0_IT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   78|  14.1k|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|  14.1k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   79|  14.1k|        assertInvariants();
   80|  14.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIKhEC2IS1_EERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   85|  14.1k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   48|  14.1k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   86|  14.1k|        assertInvariants();
   87|  14.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIKhEC2IS1_EERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   95|  14.1k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   48|  14.1k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   96|  14.1k|        assertInvariants();
   97|  14.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2EDn:
  117|  42.4k|    forceinline CSelf(std::nullptr_t) noexcept : ptr(nullptr), base(nullptr), size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIcEC2EPc:
   56|  14.1k|    CSelf(pointer first) : ptr(first), base(nullptr), size_in_bytes(0) { assertInvariants(); }
_ZN5XSpan15PtrOrSpanOrNullIcEC2ERKNS_14XSpanDebugFileEPc:
   58|  28.2k|        : XSPAN_DEBUG_IMPL ptr(first), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   47|  28.2k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   59|  28.2k|        assertInvariants();
   60|  28.2k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2ERKNS_14XSpanDebugFileEPS1_:
   58|  14.1k|        : XSPAN_DEBUG_IMPL ptr(first), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   47|  14.1k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   59|  14.1k|        assertInvariants();
   60|  14.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IS1_EERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   85|  14.1k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   48|  14.1k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   86|  14.1k|        assertInvariants();
   87|  14.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IS1_EERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   95|  14.1k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   48|  14.1k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   96|  14.1k|        assertInvariants();
   97|  14.1k|    }
_ZN5XSpan9raw_bytesIcEENS_15PtrOrSpanOrNullIT_E7pointerERKS3_m:
  131|   113k|                                                      size_t size_in_bytes) {
  132|   113k|    return a.raw_bytes(size_in_bytes);
  133|   113k|}
_ZN5XSpan15raw_index_bytesIcEENS_15PtrOrSpanOrNullIT_E7pointerERKS3_mm:
  136|  56.5k|                                                            size_t index, size_t size_in_bytes) {
  137|  56.5k|    typedef typename PtrOrSpanOrNull<T>::element_type element_type;
  138|  56.5k|    if very_unlikely (a.raw_ptr() == nullptr)
  ------------------
  |  |  245|  56.5k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  56.5k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  56.5k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 28.2k, False: 28.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  139|  28.2k|        throwCantPack("raw_index_bytes unexpected NULL ptr");
  140|  28.2k|    return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  340|  28.2k|#define index    upx_renamed_index
  ------------------
                  return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  340|  28.2k|#define index    upx_renamed_index
  ------------------
  141|  56.5k|}
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IS1_EERKNS_14XSpanDebugFileERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS8_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   90|  14.1k|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|  14.1k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   91|  14.1k|        assertInvariants();
   92|  14.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IS1_EERKNS_14XSpanDebugFileERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS8_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
  100|  14.1k|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|  14.1k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  101|  14.1k|        assertInvariants();
  102|  14.1k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2ERKNS_14XSpanDebugFileEDn:
  118|  14.1k|    forceinline CSelf(XSPAN_DEBUG_ARGS std::nullptr_t) noexcept : XSPAN_DEBUG_IMPL ptr(nullptr),
  ------------------
  |  |   47|  14.1k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  119|  14.1k|                                                                  base(nullptr),
  120|  14.1k|                                                                  size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullItEC2ERKNS_14XSpanDebugFileERKS1_:
   68|  28.2k|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|  28.2k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   69|  28.2k|        assertInvariants();
   70|  28.2k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2ERKS1_:
   64|  14.1k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   48|  14.1k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   65|  14.1k|        assertInvariants();
   66|  14.1k|    }
_ZN5XSpan9raw_bytesIKvEENS_15PtrOrSpanOrNullIT_E7pointerERKS4_m:
  131|  23.5k|                                                      size_t size_in_bytes) {
  132|  23.5k|    return a.raw_bytes(size_in_bytes);
  133|  23.5k|}
_ZN5XSpan15PtrOrSpanOrNullIKvEC2IS1_EERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   85|    125|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   48|    125|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   86|    125|        assertInvariants();
   87|    125|    }
_ZN5XSpan15PtrOrSpanOrNullIKvEC2EPS1_:
   56|  4.99k|    CSelf(pointer first) : ptr(first), base(nullptr), size_in_bytes(0) { assertInvariants(); }
_ZN5XSpan9raw_bytesIhEENS_15PtrOrSpanOrNullIT_E7pointerERKS3_m:
  131|  18.7k|                                                      size_t size_in_bytes) {
  132|  18.7k|    return a.raw_bytes(size_in_bytes);
  133|  18.7k|}
_ZN5XSpan15PtrOrSpanOrNullIhEC2EPh:
   56|  15.5k|    CSelf(pointer first) : ptr(first), base(nullptr), size_in_bytes(0) { assertInvariants(); }
_ZN5XSpan15PtrOrSpanOrNullIhEC2EDn:
  117|   228k|    forceinline CSelf(std::nullptr_t) noexcept : ptr(nullptr), base(nullptr), size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIhEaSIhEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_hEE5valueERS1_E4typeERKNS_4SpanIS5_EE:
  112|    119|    operator=(const Span<U> &other) {
  113|    119|        return assign(Self(other));
  114|    119|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2IhEERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_hEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   95|    119|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   48|    119|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   96|    119|        assertInvariants();
   97|    119|    }
_ZN5XSpan15PtrOrSpanOrNullIhEaSEDn:
  121|   200k|    forceinline Self &operator=(std::nullptr_t) noexcept {
  122|   200k|        ptr = nullptr;
  123|   200k|        return *this;
  124|   200k|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEC2EDn:
  117|      3|    forceinline CSelf(std::nullptr_t) noexcept : ptr(nullptr), base(nullptr), size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullI4LE16EC2EDn:
  117|      3|    forceinline CSelf(std::nullptr_t) noexcept : ptr(nullptr), base(nullptr), size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEEC2EDn:
  117|  40.0k|    forceinline CSelf(std::nullptr_t) noexcept : ptr(nullptr), base(nullptr), size_in_bytes(0) {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEEaSEDn:
  121|  40.0k|    forceinline Self &operator=(std::nullptr_t) noexcept {
  122|  40.0k|        ptr = nullptr;
  123|  40.0k|        return *this;
  124|  40.0k|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEaSEDn:
  121|      6|    forceinline Self &operator=(std::nullptr_t) noexcept {
  122|      6|        ptr = nullptr;
  123|      6|        return *this;
  124|      6|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EaSEDn:
  121|      6|    forceinline Self &operator=(std::nullptr_t) noexcept {
  122|      6|        ptr = nullptr;
  123|      6|        return *this;
  124|      6|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EC2ERKS2_:
   64|  32.4k|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   48|  32.4k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   65|  32.4k|        assertInvariants();
   66|  32.4k|    }
_ZN5XSpan15raw_index_bytesIhEENS_15PtrOrSpanOrNullIT_E7pointerERKS3_mm:
  136|      3|                                                            size_t index, size_t size_in_bytes) {
  137|      3|    typedef typename PtrOrSpanOrNull<T>::element_type element_type;
  138|      3|    if very_unlikely (a.raw_ptr() == nullptr)
  ------------------
  |  |  245|      3|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|      3|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|      3|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 3]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  139|      0|        throwCantPack("raw_index_bytes unexpected NULL ptr");
  140|      3|    return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  340|      3|#define index    upx_renamed_index
  ------------------
                  return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  340|      3|#define index    upx_renamed_index
  ------------------
  141|      3|}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEEaSIS2_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S2_EE5valueERS3_E4typeERKNS_4SpanIS7_EE:
  112|    265|    operator=(const Span<U> &other) {
  113|    265|        return assign(Self(other));
  114|    265|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEEC2IS2_EERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS6_S2_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   95|    265|        : XSPAN_DEBUG_OTHER ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   48|    265|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   96|    265|        assertInvariants();
   97|    265|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2ERKNS_14XSpanDebugFileERKS1_:
   68|    120|        : XSPAN_DEBUG_IMPL ptr(other.ptr), base(other.base), size_in_bytes(other.size_in_bytes) {
  ------------------
  |  |   47|    120|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   69|    120|        assertInvariants();
   70|    120|    }

_ZN5XSpan9PtrOrSpanIiEC2IiEERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
  104|  28.2k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   48|  28.2k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  105|  28.2k|          size_in_bytes(other.size_in_bytes) {
  106|  28.2k|        assertInvariants();
  107|  28.2k|    }
_ZN5XSpan9PtrOrSpanIiEC2IiEERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   91|  28.2k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   48|  28.2k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   92|  28.2k|          size_in_bytes(other.size_in_bytes) {
   93|  28.2k|        assertInvariants();
   94|  28.2k|    }
_ZNK5XSpan9PtrOrSpanIiEneEDn:
  152|  14.1k|    bool operator!=(std::nullptr_t) const {
  153|  14.1k|        assertInvariants();
  154|  14.1k|        return true;
  155|  14.1k|    }
_ZN5XSpan9PtrOrSpanIKhEC2IS1_EERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
  104|  14.1k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   48|  14.1k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  105|  14.1k|          size_in_bytes(other.size_in_bytes) {
  106|  14.1k|        assertInvariants();
  107|  14.1k|    }
_ZN5XSpan9PtrOrSpanIKhEC2IS1_EERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   91|  14.1k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   48|  14.1k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   92|  14.1k|          size_in_bytes(other.size_in_bytes) {
   93|  14.1k|        assertInvariants();
   94|  14.1k|    }
_ZN5XSpan9PtrOrSpanIcEC2EPc:
   56|  14.1k|    CSelf(pointer first) : ptr(makePtr(first)), base(nullptr), size_in_bytes(0) {
   57|  14.1k|        assertInvariants();
   58|  14.1k|    }
_ZN5XSpan9PtrOrSpanIcEC2ERKNS_14XSpanDebugFileEPc:
   60|  28.2k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   47|  28.2k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   61|  28.2k|        assertInvariants();
   62|  28.2k|    }
_ZN5XSpan9PtrOrSpanIKcEC2ERKNS_14XSpanDebugFileEPS1_:
   60|  14.1k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(nullptr), size_in_bytes(0) {
  ------------------
  |  |   47|  14.1k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   61|  14.1k|        assertInvariants();
   62|  14.1k|    }
_ZN5XSpan9PtrOrSpanIKcEC2IS1_EERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   91|  14.1k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   48|  14.1k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   92|  14.1k|          size_in_bytes(other.size_in_bytes) {
   93|  14.1k|        assertInvariants();
   94|  14.1k|    }
_ZN5XSpan9raw_bytesIcEENS_9PtrOrSpanIT_E7pointerERKS3_m:
  162|  56.5k|inline typename PtrOrSpan<T>::pointer raw_bytes(const PtrOrSpan<T> &a, size_t size_in_bytes) {
  163|  56.5k|    return a.raw_bytes(size_in_bytes);
  164|  56.5k|}
_ZN5XSpan15raw_index_bytesIcEENS_9PtrOrSpanIT_E7pointerERKS3_mm:
  167|  28.2k|                                                      size_t size_in_bytes) {
  168|  28.2k|    typedef typename PtrOrSpan<T>::element_type element_type;
  169|  28.2k|    return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  340|  28.2k|#define index    upx_renamed_index
  ------------------
                  return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  340|  28.2k|#define index    upx_renamed_index
  ------------------
  170|  28.2k|}
_ZN5XSpan9PtrOrSpanIKcEC2IS1_EERKNS_14XSpanDebugFileERKNS_4SpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS8_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   97|  14.1k|        : XSPAN_DEBUG_IMPL ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   47|  14.1k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   98|  14.1k|          size_in_bytes(other.size_in_bytes) {
   99|  14.1k|        assertInvariants();
  100|  14.1k|    }
_ZN5XSpan9PtrOrSpanItEC2ERKNS_14XSpanDebugFileERKS1_:
   71|  28.2k|        : XSPAN_DEBUG_IMPL ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   47|  28.2k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   72|  28.2k|          size_in_bytes(other.size_in_bytes) {
   73|  28.2k|        assertInvariants();
   74|  28.2k|    }
_ZN5XSpan9PtrOrSpanIcEC2ERKS1_:
   66|  14.1k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   48|  14.1k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   67|  14.1k|          size_in_bytes(other.size_in_bytes) {
   68|  14.1k|        assertInvariants();
   69|  14.1k|    }
_ZN5XSpan9raw_bytesIvEENS_9PtrOrSpanIT_E7pointerERKS3_m:
  162|   541k|inline typename PtrOrSpan<T>::pointer raw_bytes(const PtrOrSpan<T> &a, size_t size_in_bytes) {
  163|   541k|    return a.raw_bytes(size_in_bytes);
  164|   541k|}
_ZN5XSpan9PtrOrSpanIvEC2ERKS1_:
   66|   532k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   48|   532k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   67|   532k|          size_in_bytes(other.size_in_bytes) {
   68|   532k|        assertInvariants();
   69|   532k|    }
_ZN5XSpan9PtrOrSpanIvEC2EPv:
   56|   478k|    CSelf(pointer first) : ptr(makePtr(first)), base(nullptr), size_in_bytes(0) {
   57|   478k|        assertInvariants();
   58|   478k|    }
_ZN5XSpan9PtrOrSpanIvEC2IhEERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_vEE5valueENS_21XSpanInternalDummyArgEE4typeE:
  104|     41|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   48|     41|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  105|     41|          size_in_bytes(other.size_in_bytes) {
  106|     41|        assertInvariants();
  107|     41|    }
_ZN5XSpan9PtrOrSpanIKhEC2EPS1_:
   56|  20.0k|    CSelf(pointer first) : ptr(makePtr(first)), base(nullptr), size_in_bytes(0) {
   57|  20.0k|        assertInvariants();
   58|  20.0k|    }
_ZN5XSpan9PtrOrSpanIhEC2EPh:
   56|  19.0k|    CSelf(pointer first) : ptr(makePtr(first)), base(nullptr), size_in_bytes(0) {
   57|  19.0k|        assertInvariants();
   58|  19.0k|    }
_ZN5XSpan9PtrOrSpanIhEC2IhEERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_hEE5valueENS_21XSpanInternalDummyArgEE4typeE:
  104|  32.4k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   48|  32.4k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  105|  32.4k|          size_in_bytes(other.size_in_bytes) {
  106|  32.4k|        assertInvariants();
  107|  32.4k|    }
_ZN5XSpan9PtrOrSpanIKhEC2IhEERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
  104|  32.4k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   48|  32.4k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  105|  32.4k|          size_in_bytes(other.size_in_bytes) {
  106|  32.4k|        assertInvariants();
  107|  32.4k|    }
_ZN5XSpan9raw_bytesIhEENS_9PtrOrSpanIT_E7pointerERKS3_m:
  162|  22.8k|inline typename PtrOrSpan<T>::pointer raw_bytes(const PtrOrSpan<T> &a, size_t size_in_bytes) {
  163|  22.8k|    return a.raw_bytes(size_in_bytes);
  164|  22.8k|}
_ZN5XSpan9PtrOrSpanIKhEC2ERKS2_:
   66|  22.9k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   48|  22.9k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   67|  22.9k|          size_in_bytes(other.size_in_bytes) {
   68|  22.9k|        assertInvariants();
   69|  22.9k|    }
_ZN5XSpan9PtrOrSpanIhEC2ERKS1_:
   66|  22.9k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   48|  22.9k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   67|  22.9k|          size_in_bytes(other.size_in_bytes) {
   68|  22.9k|        assertInvariants();
   69|  22.9k|    }
_ZN5XSpan9raw_bytesIKhEENS_9PtrOrSpanIT_E7pointerERKS4_m:
  162|  23.0k|inline typename PtrOrSpan<T>::pointer raw_bytes(const PtrOrSpan<T> &a, size_t size_in_bytes) {
  163|  23.0k|    return a.raw_bytes(size_in_bytes);
  164|  23.0k|}
_ZN5XSpan9PtrOrSpanIvEC2IN6PeFile12pe_section_tEEERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS6_vEE5valueENS_21XSpanInternalDummyArgEE4typeE:
  104|    265|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.base),
  ------------------
  |  |   48|    265|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  105|    265|          size_in_bytes(other.size_in_bytes) {
  106|    265|        assertInvariants();
  107|    265|    }

_ZN5XSpan4SpanIiEC2IiEERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|  28.2k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|  28.2k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|  28.2k|          size_in_bytes(other.size_in_bytes) {
   89|  28.2k|        assertInvariants();
   90|  28.2k|    }
_ZN5XSpan4SpanIiEC2IiEERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   99|  28.2k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|  28.2k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  100|  28.2k|          size_in_bytes(other.size_in_bytes) {
  101|  28.2k|        assertInvariants();
  102|  28.2k|    }
_ZNK5XSpan4SpanIiEneEDn:
  149|  14.1k|    bool operator!=(std::nullptr_t) const {
  150|  14.1k|        assertInvariants();
  151|  14.1k|        return true;
  152|  14.1k|    }
_ZN5XSpan4SpanIKhEC2IS1_EERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|  14.1k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|  14.1k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|  14.1k|          size_in_bytes(other.size_in_bytes) {
   89|  14.1k|        assertInvariants();
   90|  14.1k|    }
_ZN5XSpan4SpanIKhEC2IS1_EERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   99|  14.1k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|  14.1k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  100|  14.1k|          size_in_bytes(other.size_in_bytes) {
  101|  14.1k|        assertInvariants();
  102|  14.1k|    }
_ZN5XSpan9raw_bytesIcEENS_4SpanIT_E7pointerERKS3_m:
  159|  56.5k|inline typename Span<T>::pointer raw_bytes(const Span<T> &a, size_t size_in_bytes) {
  160|  56.5k|    return a.raw_bytes(size_in_bytes);
  161|  56.5k|}
_ZN5XSpan15raw_index_bytesIcEENS_4SpanIT_E7pointerERKS3_mm:
  164|  56.5k|                                                 size_t size_in_bytes) {
  165|  56.5k|    typedef typename Span<T>::element_type element_type;
  166|  56.5k|    return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  340|  56.5k|#define index    upx_renamed_index
  ------------------
                  return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  340|  56.5k|#define index    upx_renamed_index
  ------------------
  167|  56.5k|}
_ZN5XSpan4SpanItEC2ERKNS_14XSpanDebugFileERKS1_:
   66|  28.2k|        : XSPAN_DEBUG_IMPL ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   47|  28.2k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   67|  28.2k|          size_in_bytes(other.size_in_bytes) {
   68|  28.2k|        assertInvariants();
   69|  28.2k|    }
_ZN5XSpan4SpanIcEC2ERKS1_:
   61|  14.1k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|  14.1k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|  14.1k|          size_in_bytes(other.size_in_bytes) {
   63|  14.1k|        assertInvariants();
   64|  14.1k|    }
_ZN5XSpan9raw_bytesIhEENS_4SpanIT_E7pointerERKS3_m:
  159|  7.04k|inline typename Span<T>::pointer raw_bytes(const Span<T> &a, size_t size_in_bytes) {
  160|  7.04k|    return a.raw_bytes(size_in_bytes);
  161|  7.04k|}
_ZN5XSpan4SpanIhEC2ERKS1_:
   61|    338|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|    338|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|    338|          size_in_bytes(other.size_in_bytes) {
   63|    338|        assertInvariants();
   64|    338|    }
_ZN5XSpan4SpanIKhEC2ERKNS_14XSpanDebugFileERKS2_:
   66|  16.9k|        : XSPAN_DEBUG_IMPL ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   47|  16.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   67|  16.9k|          size_in_bytes(other.size_in_bytes) {
   68|  16.9k|        assertInvariants();
   69|  16.9k|    }
_ZN5XSpan4SpanIKhEC2ERKS2_:
   61|   518k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|   518k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|   518k|          size_in_bytes(other.size_in_bytes) {
   63|   518k|        assertInvariants();
   64|   518k|    }
_ZN5XSpan9raw_bytesIKhEENS_4SpanIT_E7pointerERKS4_m:
  159|  36.4k|inline typename Span<T>::pointer raw_bytes(const Span<T> &a, size_t size_in_bytes) {
  160|  36.4k|    return a.raw_bytes(size_in_bytes);
  161|  36.4k|}
_ZN5XSpan4SpanI4LE32EC2ERKS2_:
   61|  32.4k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|  32.4k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|  32.4k|          size_in_bytes(other.size_in_bytes) {
   63|  32.4k|        assertInvariants();
   64|  32.4k|    }
_ZN5XSpan4SpanIN6PeFile5Reloc9BaseRelocEEC2IS3_EERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS7_S3_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|    348|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|    348|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|    348|          size_in_bytes(other.size_in_bytes) {
   89|    348|        assertInvariants();
   90|    348|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEC2ERKS3_:
   61|    172|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|    172|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|    172|          size_in_bytes(other.size_in_bytes) {
   63|    172|        assertInvariants();
   64|    172|    }

_Z11do_one_filePKcPc:
  208|  14.1k|void do_one_file(const char *const iname, char *const oname) may_throw {
  209|  14.1k|    oname[0] = 0; // make empty
  210|       |
  211|       |    // check iname stat
  212|  14.1k|    XStat xst = {};
  213|  14.1k|    struct stat &st = xst.st;
  214|  14.1k|#if HAVE_LSTAT
  215|  14.1k|    int rr = lstat(iname, &st);
  216|       |#else
  217|       |    int rr = stat(iname, &st);
  218|       |#endif
  219|  14.1k|    if (rr != 0) {
  ------------------
  |  Branch (219:9): [True: 0, False: 14.1k]
  ------------------
  220|      0|        if (errno == ENOENT)
  ------------------
  |  Branch (220:13): [True: 0, False: 0]
  ------------------
  221|      0|            throw FileNotFoundException(iname, errno);
  222|      0|        else
  223|      0|            throwIOException(iname, errno);
  224|      0|    }
  225|  14.1k|#if HAVE_LSTAT
  226|  14.1k|    if (S_ISLNK(st.st_mode))
  ------------------
  |  Branch (226:9): [True: 0, False: 14.1k]
  ------------------
  227|      0|        throwIOException("is a symlink -- skipped");
  228|  14.1k|#endif
  229|  14.1k|    if (S_ISDIR(st.st_mode))
  ------------------
  |  Branch (229:9): [True: 0, False: 14.1k]
  ------------------
  230|      0|        throwIOException("is a directory -- skipped");
  231|  14.1k|    if (!(S_ISREG(st.st_mode)))
  ------------------
  |  Branch (231:9): [True: 0, False: 14.1k]
  ------------------
  232|      0|        throwIOException("not a regular file -- skipped");
  233|  14.1k|#if defined(__unix__)
  234|       |    // no special bits may be set
  235|  14.1k|    if ((st.st_mode & (S_ISUID | S_ISGID | S_ISVTX)) != 0)
  ------------------
  |  Branch (235:9): [True: 0, False: 14.1k]
  ------------------
  236|      0|        throwIOException("file has special permissions -- skipped");
  237|  14.1k|#endif
  238|  14.1k|    if (st.st_size <= 0)
  ------------------
  |  Branch (238:9): [True: 0, False: 14.1k]
  ------------------
  239|      0|        throwIOException("empty file -- skipped");
  240|  14.1k|    if (st.st_size < 512)
  ------------------
  |  Branch (240:9): [True: 23, False: 14.1k]
  ------------------
  241|     23|        throwIOException("file is too small -- skipped");
  242|  14.1k|    if (!mem_size_valid_bytes(st.st_size))
  ------------------
  |  Branch (242:9): [True: 0, False: 14.1k]
  ------------------
  243|      0|        throwIOException("file is too large -- skipped");
  244|  14.1k|    if ((st.st_mode & S_IWUSR) == 0) {
  ------------------
  |  Branch (244:9): [True: 0, False: 14.1k]
  ------------------
  245|      0|        bool skip = true;
  246|      0|        if (opt->output_name)
  ------------------
  |  Branch (246:13): [True: 0, False: 0]
  ------------------
  247|      0|            skip = false;
  248|      0|        else if (opt->to_stdout)
  ------------------
  |  Branch (248:18): [True: 0, False: 0]
  ------------------
  249|      0|            skip = false;
  250|      0|        else if (opt->backup)
  ------------------
  |  Branch (250:18): [True: 0, False: 0]
  ------------------
  251|      0|            skip = false;
  252|      0|        if (skip)
  ------------------
  |  Branch (252:13): [True: 0, False: 0]
  ------------------
  253|      0|            throwIOException("file is write protected -- skipped");
  254|      0|    }
  255|       |
  256|       |    // open input file
  257|  14.1k|    InputFile fi;
  258|  14.1k|    fi.sopen(iname, get_open_flags(RO_MUST_EXIST), SH_DENYWR);
  ------------------
  |  |   64|  14.1k|#define SH_DENYWR (-1)
  ------------------
  259|       |
  260|  14.1k|    if (opt->preserve_timestamp) {
  ------------------
  |  Branch (260:9): [True: 14.1k, False: 0]
  ------------------
  261|       |#if USE_SETFILETIME
  262|       |        if (GetFileTime((HANDLE) _get_osfhandle(fi.getFd()), nullptr, &xst.ft_atime,
  263|       |                        &xst.ft_mtime) == 0)
  264|       |            throwIOException("cannot determine file timestamp");
  265|       |#elif USE_FTIME
  266|       |        if (getftime(fi.getFd(), &xst.ft_ftime) != 0)
  267|       |            throwIOException("cannot determine file timestamp");
  268|       |#endif
  269|  14.1k|    }
  270|       |
  271|       |    // open output file
  272|       |    // NOTE: only use "preserve_link" if you really need it, e.g. it can fail
  273|       |    //   with ETXTBSY and other unexpected errors; renaming files is much safer
  274|  14.1k|    OutputFile fo;
  275|  14.1k|    bool preserve_link = opt->preserve_link;
  276|  14.1k|    bool copy_timestamp_only = false;
  277|  14.1k|    if (opt->cmd == CMD_COMPRESS || opt->cmd == CMD_DECOMPRESS) {
  ------------------
  |  Branch (277:9): [True: 0, False: 14.1k]
  |  Branch (277:37): [True: 14.1k, False: 0]
  ------------------
  278|  14.1k|        if (opt->to_stdout) {
  ------------------
  |  Branch (278:13): [True: 0, False: 14.1k]
  ------------------
  279|      0|            preserve_link = false; // not needed
  280|      0|            if (!fo.openStdout(1, opt->force ? true : false))
  ------------------
  |  Branch (280:17): [True: 0, False: 0]
  |  Branch (280:35): [True: 0, False: 0]
  ------------------
  281|      0|                throwIOException("data not written to a terminal; Use '-f' to force.");
  282|  14.1k|        } else {
  283|  14.1k|            char tname[ACC_FN_PATH_MAX + 1];
  284|  14.1k|            if (opt->output_name) {
  ------------------
  |  Branch (284:17): [True: 14.1k, False: 0]
  ------------------
  285|  14.1k|                strcpy(tname, opt->output_name);
  286|  14.1k|                if ((opt->force_overwrite || opt->force >= 2) && !preserve_link)
  ------------------
  |  Branch (286:22): [True: 0, False: 14.1k]
  |  Branch (286:46): [True: 0, False: 14.1k]
  |  Branch (286:66): [True: 0, False: 0]
  ------------------
  287|      0|                    (void) FileBase::unlink_noexcept(tname); // IGNORE_ERROR
  288|  14.1k|            } else {
  289|      0|                if (st.st_nlink < 2)
  ------------------
  |  Branch (289:21): [True: 0, False: 0]
  ------------------
  290|      0|                    preserve_link = false; // not needed
  291|      0|                if (!maketempname(tname, sizeof(tname), iname, ".upx"))
  ------------------
  |  Branch (291:21): [True: 0, False: 0]
  ------------------
  292|      0|                    throwIOException("could not create a temporary file name");
  293|      0|            }
  294|  14.1k|            int flags = get_open_flags(WO_MUST_CREATE); // don't overwrite files by default
  295|  14.1k|            if (opt->output_name && preserve_link) {
  ------------------
  |  Branch (295:17): [True: 14.1k, False: 0]
  |  Branch (295:37): [True: 0, False: 14.1k]
  ------------------
  296|      0|                flags = get_open_flags(WO_CREATE_OR_TRUNCATE);
  297|      0|#if HAVE_LSTAT
  298|      0|                struct stat ost = {};
  299|      0|                int r = lstat(tname, &ost);
  300|      0|                if (r == 0 && S_ISREG(ost.st_mode)) {
  ------------------
  |  Branch (300:21): [True: 0, False: 0]
  |  Branch (300:31): [True: 0, False: 0]
  ------------------
  301|      0|                    preserve_link = ost.st_nlink >= 2;
  302|      0|                } else if (r == 0 && S_ISLNK(ost.st_mode)) {
  ------------------
  |  Branch (302:28): [True: 0, False: 0]
  |  Branch (302:38): [True: 0, False: 0]
  ------------------
  303|       |                    // output_name is a symlink (valid or dangling)
  304|      0|                    (void) FileBase::unlink_noexcept(tname); // IGNORE_ERROR
  305|      0|                    preserve_link = false;                   // not needed
  306|      0|                } else {
  307|      0|                    preserve_link = false; // not needed
  308|      0|                }
  309|      0|#endif
  310|      0|                if (preserve_link) {
  ------------------
  |  Branch (310:21): [True: 0, False: 0]
  ------------------
  311|      0|                    flags = get_open_flags(WO_MUST_EXIST_TRUNCATE);
  312|      0|                    copy_timestamp_only = true;
  313|      0|                }
  314|  14.1k|            } else if (opt->force_overwrite || opt->force) {
  ------------------
  |  Branch (314:24): [True: 0, False: 14.1k]
  |  Branch (314:48): [True: 0, False: 14.1k]
  ------------------
  315|      0|                flags = get_open_flags(WO_CREATE_OR_TRUNCATE);
  316|      0|            }
  317|  14.1k|            int shmode = SH_DENYWR;
  ------------------
  |  |   64|  14.1k|#define SH_DENYWR (-1)
  ------------------
  318|       |#if (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC) && defined(__MINT__)
  319|       |            // TODO later: check current mintlib if this hack is still needed
  320|       |            flags |= O_TRUNC;
  321|       |            shmode = O_DENYRW;
  322|       |#endif
  323|       |            // cannot rely on open() because of umask
  324|       |            // int omode = st.st_mode | 0600;
  325|  14.1k|            int omode = opt->preserve_mode ? 0600 : 0666; // affected by umask; only for O_CREAT
  ------------------
  |  Branch (325:25): [True: 14.1k, False: 0]
  ------------------
  326|  14.1k|            fo.sopen(tname, flags, shmode, omode);
  327|       |            // open succeeded - now set oname[]
  328|  14.1k|            strcpy(oname, tname);
  329|  14.1k|        }
  330|  14.1k|    }
  331|       |
  332|       |    // handle command - actual work starts HERE
  333|  14.1k|    {
  334|  14.1k|        PackMaster pm(&fi, opt);
  335|  14.1k|        if (opt->cmd == CMD_COMPRESS)
  ------------------
  |  Branch (335:13): [True: 0, False: 14.1k]
  ------------------
  336|      0|            pm.pack(&fo);
  337|  14.1k|        else if (opt->cmd == CMD_DECOMPRESS)
  ------------------
  |  Branch (337:18): [True: 14.1k, False: 0]
  ------------------
  338|  14.1k|            pm.unpack(&fo);
  339|      0|        else if (opt->cmd == CMD_TEST)
  ------------------
  |  Branch (339:18): [True: 0, False: 0]
  ------------------
  340|      0|            pm.test();
  341|      0|        else if (opt->cmd == CMD_LIST)
  ------------------
  |  Branch (341:18): [True: 0, False: 0]
  ------------------
  342|      0|            pm.list();
  343|      0|        else if (opt->cmd == CMD_FILEINFO)
  ------------------
  |  Branch (343:18): [True: 0, False: 0]
  ------------------
  344|      0|            pm.fileInfo();
  345|      0|        else
  346|      0|            throwInternalError("invalid command");
  347|  14.1k|    }
  348|       |
  349|       |    // copy time stamp
  350|  14.1k|    if (oname[0] && opt->preserve_timestamp && fo.isOpen())
  ------------------
  |  Branch (350:9): [True: 65, False: 14.0k]
  |  Branch (350:21): [True: 65, False: 0]
  |  Branch (350:48): [True: 65, False: 0]
  ------------------
  351|     65|        set_fd_timestamp(fo.getFd(), &xst);
  352|       |
  353|       |    // close files
  354|  14.1k|    fi.closex();
  355|  14.1k|    fo.closex();
  356|       |
  357|       |    // rename or copy files
  358|  14.1k|    if (oname[0] && !opt->output_name) {
  ------------------
  |  Branch (358:9): [True: 65, False: 14.0k]
  |  Branch (358:21): [True: 0, False: 65]
  ------------------
  359|       |        // both iname and oname do exist; rename oname to iname
  360|      0|        if (opt->backup) {
  ------------------
  |  Branch (360:13): [True: 0, False: 0]
  ------------------
  361|      0|            char bakname[ACC_FN_PATH_MAX + 1];
  362|      0|            if (!makebakname(bakname, sizeof(bakname), iname))
  ------------------
  |  Branch (362:17): [True: 0, False: 0]
  ------------------
  363|      0|                throwIOException("could not create a backup file name");
  364|      0|            if (preserve_link) {
  ------------------
  |  Branch (364:17): [True: 0, False: 0]
  ------------------
  365|      0|                copy_file_contents(iname, bakname, WO_MUST_CREATE, &xst);
  366|      0|                copy_file_attributes(&xst, bakname, true, true, true);
  367|      0|                const XStat *xstamp = opt->preserve_timestamp ? &xst : nullptr;
  ------------------
  |  Branch (367:39): [True: 0, False: 0]
  ------------------
  368|      0|                copy_file_contents(oname, iname, WO_MUST_EXIST_TRUNCATE, xstamp);
  369|      0|                FileBase::unlink(oname);
  370|      0|                copy_timestamp_only = true;
  371|      0|            } else {
  372|      0|                FileBase::rename(iname, bakname);
  373|      0|                FileBase::rename(oname, iname);
  374|      0|            }
  375|      0|        } else if (preserve_link) {
  ------------------
  |  Branch (375:20): [True: 0, False: 0]
  ------------------
  376|      0|            const XStat *xstamp = opt->preserve_timestamp ? &xst : nullptr;
  ------------------
  |  Branch (376:35): [True: 0, False: 0]
  ------------------
  377|      0|            copy_file_contents(oname, iname, WO_MUST_EXIST_TRUNCATE, xstamp);
  378|      0|            FileBase::unlink(oname);
  379|      0|            copy_timestamp_only = true;
  380|      0|        } else {
  381|      0|            FileBase::unlink(iname);
  382|      0|            FileBase::rename(oname, iname);
  383|      0|        }
  384|       |        // now iname is the new packed/unpacked file and oname does not exist any longer
  385|      0|    }
  386|       |
  387|       |    // copy file attributes
  388|  14.1k|    if (oname[0]) {
  ------------------
  |  Branch (388:9): [True: 65, False: 14.0k]
  ------------------
  389|     65|        oname[0] = 0; // done with oname
  390|     65|        const char *name = opt->output_name ? opt->output_name : iname;
  ------------------
  |  Branch (390:28): [True: 65, False: 0]
  ------------------
  391|     65|        if (copy_timestamp_only)
  ------------------
  |  Branch (391:13): [True: 0, False: 65]
  ------------------
  392|      0|            copy_file_attributes(&xst, name, false, false, opt->preserve_timestamp);
  393|     65|        else
  394|     65|            copy_file_attributes(&xst, name, opt->preserve_mode, opt->preserve_ownership,
  395|     65|                                 opt->preserve_timestamp);
  396|     65|    }
  397|       |
  398|  14.1k|    UiPacker::uiConfirmUpdate();
  399|  14.1k|}
_Z8do_filesiiPPc:
  412|  14.1k|int do_files(int i, int argc, char *argv[]) may_throw {
  413|  14.1k|    upx_compiler_sanity_check();
  414|  14.1k|    if (opt->verbose >= 1) {
  ------------------
  |  Branch (414:9): [True: 14.1k, False: 0]
  ------------------
  415|  14.1k|        show_header();
  416|  14.1k|        UiPacker::uiHeader();
  417|  14.1k|    }
  418|       |
  419|  28.2k|    for (; i < argc; i++) {
  ------------------
  |  Branch (419:12): [True: 14.1k, False: 14.1k]
  ------------------
  420|  14.1k|        infoHeader();
  421|       |
  422|  14.1k|        const char *const iname = argv[i];
  423|  14.1k|        char oname[ACC_FN_PATH_MAX + 1];
  424|  14.1k|        oname[0] = 0;
  425|       |
  426|  14.1k|        try {
  427|  14.1k|            do_one_file(iname, oname);
  428|  14.1k|        } catch (const Exception &e) {
  429|  14.0k|            unlink_ofile(oname);
  430|  14.0k|            if (opt->verbose >= 1 || (opt->verbose >= 0 && !e.isWarning()))
  ------------------
  |  Branch (430:17): [True: 14.0k, False: 0]
  |  Branch (430:39): [True: 0, False: 0]
  |  Branch (430:60): [True: 0, False: 0]
  ------------------
  431|  14.0k|                printErr(iname, e);
  432|  14.0k|            main_set_exit_code(e.isWarning() ? EXIT_WARN : EXIT_ERROR);
  ------------------
  |  |  523|  2.35k|#define EXIT_WARN       2
  ------------------
                          main_set_exit_code(e.isWarning() ? EXIT_WARN : EXIT_ERROR);
  ------------------
  |  |  522|  11.7k|#define EXIT_ERROR      1
  ------------------
  |  Branch (432:32): [True: 2.35k, False: 11.7k]
  ------------------
  433|       |            // this is not fatal, continue processing more files
  434|  14.0k|        } catch (const Error &e) {
  435|     16|            unlink_ofile(oname);
  436|     16|            printErr(iname, e);
  437|     16|            main_set_exit_code(EXIT_ERROR);
  ------------------
  |  |  522|     16|#define EXIT_ERROR      1
  ------------------
  438|     16|            return -1; // fatal error
  439|     16|        } catch (std::bad_alloc *e) {
  440|      0|            unlink_ofile(oname);
  441|      0|            printErr(iname, "out of memory");
  442|      0|            UNUSED(e);
  ------------------
  |  |  249|      0|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|      0|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  443|       |            // delete e;
  444|      0|            main_set_exit_code(EXIT_ERROR);
  ------------------
  |  |  522|      0|#define EXIT_ERROR      1
  ------------------
  445|      0|            return -1; // fatal error
  446|      0|        } catch (const std::bad_alloc &) {
  447|      0|            unlink_ofile(oname);
  448|      0|            printErr(iname, "out of memory");
  449|      0|            main_set_exit_code(EXIT_ERROR);
  ------------------
  |  |  522|      0|#define EXIT_ERROR      1
  ------------------
  450|      0|            return -1; // fatal error
  451|      0|        } catch (std::exception *e) {
  452|      0|            unlink_ofile(oname);
  453|      0|            printUnhandledException(iname, e);
  454|       |            // delete e;
  455|      0|            main_set_exit_code(EXIT_ERROR);
  ------------------
  |  |  522|      0|#define EXIT_ERROR      1
  ------------------
  456|      0|            return -1; // fatal error
  457|      0|        } catch (const std::exception &e) {
  458|      0|            unlink_ofile(oname);
  459|      0|            printUnhandledException(iname, &e);
  460|      0|            main_set_exit_code(EXIT_ERROR);
  ------------------
  |  |  522|      0|#define EXIT_ERROR      1
  ------------------
  461|      0|            return -1; // fatal error
  462|      0|        } catch (...) {
  463|      0|            unlink_ofile(oname);
  464|      0|            printUnhandledException(iname, nullptr);
  465|      0|            main_set_exit_code(EXIT_ERROR);
  ------------------
  |  |  522|      0|#define EXIT_ERROR      1
  ------------------
  466|      0|            return -1; // fatal error
  467|      0|        }
  468|  14.1k|    }
  469|       |
  470|  14.1k|    if (opt->cmd == CMD_COMPRESS)
  ------------------
  |  Branch (470:9): [True: 0, False: 14.1k]
  ------------------
  471|      0|        UiPacker::uiPackTotal();
  472|  14.1k|    else if (opt->cmd == CMD_DECOMPRESS)
  ------------------
  |  Branch (472:14): [True: 14.1k, False: 0]
  ------------------
  473|  14.1k|        UiPacker::uiUnpackTotal();
  474|      0|    else if (opt->cmd == CMD_LIST)
  ------------------
  |  Branch (474:14): [True: 0, False: 0]
  ------------------
  475|      0|        UiPacker::uiListTotal();
  476|      0|    else if (opt->cmd == CMD_TEST)
  ------------------
  |  Branch (476:14): [True: 0, False: 0]
  ------------------
  477|      0|        UiPacker::uiTestTotal();
  478|      0|    else if (opt->cmd == CMD_FILEINFO)
  ------------------
  |  Branch (478:14): [True: 0, False: 0]
  ------------------
  479|      0|        UiPacker::uiFileInfoTotal();
  480|  14.1k|    return 0;
  481|  14.1k|}
work.cpp:_ZN12_GLOBAL__N_114get_open_flagsENS_8OpenModeE:
   88|  28.2k|static constexpr int get_open_flags(OpenMode om) noexcept {
   89|  28.2k|    constexpr int wo_flags = O_WRONLY | O_BINARY;
  ------------------
  |  |  330|  28.2k|#define O_BINARY 0
  ------------------
   90|  28.2k|    if (om == WO_MUST_EXIST_TRUNCATE)
  ------------------
  |  Branch (90:9): [True: 0, False: 28.2k]
  ------------------
   91|      0|        return wo_flags | O_TRUNC; // will cause an error if file does not exist
   92|  28.2k|    if (om == WO_MUST_CREATE)
  ------------------
  |  Branch (92:9): [True: 14.1k, False: 14.1k]
  ------------------
   93|  14.1k|        return wo_flags | O_CREAT | O_EXCL; // will cause an error if file already exists
   94|  14.1k|    if (om == WO_CREATE_OR_TRUNCATE)
  ------------------
  |  Branch (94:9): [True: 0, False: 14.1k]
  ------------------
   95|      0|        return wo_flags | O_CREAT | O_TRUNC; // create if not exists, otherwise truncate
   96|       |    // RO_MUST_EXIST
   97|  14.1k|    return O_RDONLY | O_BINARY; // will cause an error if file does not exist
  ------------------
  |  |  330|  14.1k|#define O_BINARY 0
  ------------------
   98|  14.1k|}
work.cpp:_ZN12_GLOBAL__N_116set_fd_timestampEiPKNS_5XStatE:
  101|     65|static noinline void set_fd_timestamp(int fd, const XStat *xst) noexcept {
  102|       |#if USE_SETFILETIME
  103|       |    BOOL r = SetFileTime((HANDLE) _get_osfhandle(fd), nullptr, &xst->ft_atime, &xst->ft_mtime);
  104|       |    IGNORE_ERROR(r);
  105|       |#elif USE_FTIME
  106|       |    struct ftime ft_ftime = xst->ft_ftime; // djgpp2 libc bug/feature: not const, so use a copy
  107|       |    int r = setftime(fd, &ft_ftime);
  108|       |    IGNORE_ERROR(r);
  109|       |#elif USE__FUTIME
  110|       |    struct _utimbuf u = {};
  111|       |    u.actime = xst->st.st_atime;
  112|       |    u.modtime = xst->st.st_mtime;
  113|       |    int r = _futime(fd, &u);
  114|       |    IGNORE_ERROR(r);
  115|       |#endif
  116|       |    // maybe unused
  117|     65|    UNUSED(fd);
  ------------------
  |  |  249|     65|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     65|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  118|     65|    UNUSED(xst);
  ------------------
  |  |  249|     65|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     65|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  119|     65|}
work.cpp:_ZN12_GLOBAL__N_120copy_file_attributesEPKNS_5XStatEPKcbbb:
  147|     65|                                          bool preserve_timestamp) noexcept {
  148|     65|    const struct stat *const st = &xst->st;
  149|       |    // copy time stamp
  150|     65|    if (preserve_timestamp) {
  ------------------
  |  Branch (150:9): [True: 65, False: 0]
  ------------------
  151|     65|#if USE_UTIMENSAT && defined(AT_FDCWD)
  152|     65|        struct timespec times[2] = {};
  153|       |#if HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC
  154|       |        // macOS
  155|       |        times[0] = st->st_atimespec;
  156|       |        times[1] = st->st_mtimespec;
  157|       |#else
  158|       |        // POSIX.1-2008
  159|     65|        times[0] = st->st_atim;
  160|     65|        times[1] = st->st_mtim;
  161|     65|#endif
  162|     65|        int r = utimensat(AT_FDCWD, oname, &times[0], 0);
  163|     65|        IGNORE_ERROR(r);
  ------------------
  |  |   84|     65|#define IGNORE_ERROR(var) ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     65|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  164|       |#elif USE_UTIME
  165|       |        struct utimbuf u = {};
  166|       |        u.actime = st->st_atime;
  167|       |        u.modtime = st->st_mtime;
  168|       |        int r = utime(oname, &u);
  169|       |        IGNORE_ERROR(r);
  170|       |#endif
  171|     65|    }
  172|     65|#if HAVE_CHOWN
  173|       |    // copy the group ownership
  174|     65|    if (preserve_ownership) {
  ------------------
  |  Branch (174:9): [True: 65, False: 0]
  ------------------
  175|     65|        int r = chown(oname, -1, st->st_gid);
  176|     65|        IGNORE_ERROR(r);
  ------------------
  |  |   84|     65|#define IGNORE_ERROR(var) ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     65|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  177|     65|    }
  178|     65|#endif
  179|     65|#if HAVE_CHMOD
  180|       |    // copy permissions
  181|     65|    if (preserve_mode) {
  ------------------
  |  Branch (181:9): [True: 65, False: 0]
  ------------------
  182|     65|        int r = chmod(oname, st->st_mode);
  183|     65|        IGNORE_ERROR(r);
  ------------------
  |  |   84|     65|#define IGNORE_ERROR(var) ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     65|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  184|     65|    }
  185|     65|#endif
  186|     65|#if HAVE_CHOWN
  187|       |    // copy the user ownership
  188|     65|    if (preserve_ownership) {
  ------------------
  |  Branch (188:9): [True: 65, False: 0]
  ------------------
  189|     65|        int r = chown(oname, st->st_uid, -1);
  190|     65|        IGNORE_ERROR(r);
  ------------------
  |  |   84|     65|#define IGNORE_ERROR(var) ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     65|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  191|     65|    }
  192|     65|#endif
  193|       |    // maybe unused
  194|     65|    UNUSED(xst);
  ------------------
  |  |  249|     65|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     65|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  195|     65|    UNUSED(st);
  ------------------
  |  |  249|     65|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     65|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  196|     65|    UNUSED(oname);
  ------------------
  |  |  249|     65|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     65|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  197|     65|    UNUSED(preserve_mode);
  ------------------
  |  |  249|     65|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     65|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  198|     65|    UNUSED(preserve_ownership);
  ------------------
  |  |  249|     65|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     65|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  199|     65|    UNUSED(preserve_timestamp);
  ------------------
  |  |  249|     65|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     65|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  200|     65|}
work.cpp:_ZL12unlink_ofilePc:
  405|  14.0k|static noinline void unlink_ofile(char *oname) noexcept {
  406|  14.0k|    if (oname && oname[0]) {
  ------------------
  |  Branch (406:9): [True: 14.0k, False: 0]
  |  Branch (406:18): [True: 14.0k, False: 23]
  ------------------
  407|  14.0k|        (void) FileBase::unlink_noexcept(oname); // IGNORE_ERROR
  408|  14.0k|        oname[0] = 0;                            // done with oname
  409|  14.0k|    }
  410|  14.0k|}

